1ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio/* 2ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio * Copyright 2016 Google Inc. 3ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio * 4ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio * Use of this source code is governed by a BSD-style license that can be 5ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio * found in the LICENSE file. 6ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio */ 7ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio 8ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio#include "UrlHandler.h" 9ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio 10ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio#include "microhttpd.h" 11ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio#include "../Request.h" 12ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio#include "../Response.h" 13ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio 14ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregoriousing namespace Response; 15ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio 16ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregoriobool QuitHandler::canHandle(const char* method, const char* url) { 17ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio const char* kBaseName = "/quitquitquit"; 18ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio return 0 == strcmp(method, MHD_HTTP_METHOD_GET) && 19ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio 0 == strncmp(url, kBaseName, strlen(kBaseName)); 20ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio} 21ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio 22ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorioint QuitHandler::handle(Request* request, MHD_Connection* connection, 23ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio const char* url, const char* method, 24ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio const char* upload_data, size_t* upload_data_size) { 25ecbc526418414f6f9d29b176ea0ad8037fff2e2dmtklein _exit(0); 26ce8ea4c55b6ecaf7132edce46b1c1ed38d7437fdjcgregorio} 27