Better verbose message.

The parsing of the request in the `RequestContext` constructor may be
buggy and make kiwix-serve crash.

If we print debug information only after the request is parsed, we will
never print the debug information if the parsing crash.

It is better to, at least, write that we've got a new request to avoid
us to try to debug previous request where everything were ok.
pull/123/head
Matthieu Gautier 9 years ago
parent aa9647e88c
commit 9a29874f9f

@ -724,17 +724,23 @@ static int accessHandlerCallback(void* cls,
size_t* upload_data_size,
void** ptr)
{
if (isVerbose.load() ) {
printf("======================\n");
printf("Requesting : \n");
printf("full_url : %s\n", url);
}
RequestContext request(connection, rootLocation, url, method, version);
if (isVerbose.load() ) {
request.print_debug_info();
}
/* Unexpected method */
if (request.get_method() != RequestMethod::GET && request.get_method() != RequestMethod::POST) {
printf("Reject request because of unhandled request method.\n");
printf("----------------------\n");
return MHD_NO;
}
if (isVerbose.load()) {
printf("======================\n");
request.print_debug_info();
}
/* Prepare the variables */
struct MHD_Response* response;
request.httpResponseCode = request.has_range() ? MHD_HTTP_PARTIAL_CONTENT : MHD_HTTP_OK;

@ -127,8 +127,6 @@ int RequestContext::fill_argument(void *__this, enum MHD_ValueKind kind,
}
void RequestContext::print_debug_info() {
printf("Requesting : \n");
printf("full_url : %s\n", full_url.c_str());
printf("method : %s (%d)\n", method==RequestMethod::GET ? "GET" :
method==RequestMethod::POST ? "POST" :
"OTHER", method);

Loading…
Cancel
Save