|
|
|
@ -164,7 +164,7 @@ on_client_request_arrival(int client_socket, const struct sockaddr *client_addre
|
|
|
|
|
/* Failed to allocate memory */
|
|
|
|
|
debuglog("Failed to allocate http session\n");
|
|
|
|
|
session->state = HTTP_SESSION_EXECUTION_COMPLETE;
|
|
|
|
|
http_session_set_response_header(session, 500);
|
|
|
|
|
http_session_set_response_header(session, 500, NULL, 0);
|
|
|
|
|
on_client_response_header_sending(session);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -185,13 +185,13 @@ on_client_request_receiving(struct http_session *session)
|
|
|
|
|
/* Failed to grow request buffer */
|
|
|
|
|
debuglog("Failed to grow http request buffer\n");
|
|
|
|
|
session->state = HTTP_SESSION_EXECUTION_COMPLETE;
|
|
|
|
|
http_session_set_response_header(session, 500);
|
|
|
|
|
http_session_set_response_header(session, 500, NULL, 0);
|
|
|
|
|
on_client_response_header_sending(session);
|
|
|
|
|
return;
|
|
|
|
|
} else if (rc == -1) {
|
|
|
|
|
debuglog("Failed to receive or parse request\n");
|
|
|
|
|
session->state = HTTP_SESSION_EXECUTION_COMPLETE;
|
|
|
|
|
http_session_set_response_header(session, 400);
|
|
|
|
|
http_session_set_response_header(session, 400, NULL, 0);
|
|
|
|
|
on_client_response_header_sending(session);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -208,7 +208,7 @@ on_client_request_received(struct http_session *session)
|
|
|
|
|
if (route == NULL) {
|
|
|
|
|
debuglog("Did not match any routes\n");
|
|
|
|
|
session->state = HTTP_SESSION_EXECUTION_COMPLETE;
|
|
|
|
|
http_session_set_response_header(session, 404);
|
|
|
|
|
http_session_set_response_header(session, 404, NULL, 0);
|
|
|
|
|
on_client_response_header_sending(session);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -221,7 +221,7 @@ on_client_request_received(struct http_session *session)
|
|
|
|
|
uint64_t work_admitted = admissions_control_decide(route->admissions_info.estimate);
|
|
|
|
|
if (work_admitted == 0) {
|
|
|
|
|
session->state = HTTP_SESSION_EXECUTION_COMPLETE;
|
|
|
|
|
http_session_set_response_header(session, 429);
|
|
|
|
|
http_session_set_response_header(session, 429, NULL, 0);
|
|
|
|
|
on_client_response_header_sending(session);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -232,7 +232,7 @@ on_client_request_received(struct http_session *session)
|
|
|
|
|
if (unlikely(sandbox == NULL)) {
|
|
|
|
|
debuglog("Failed to allocate sandbox\n");
|
|
|
|
|
session->state = HTTP_SESSION_EXECUTION_COMPLETE;
|
|
|
|
|
http_session_set_response_header(session, 500);
|
|
|
|
|
http_session_set_response_header(session, 500, NULL, 0);
|
|
|
|
|
on_client_response_header_sending(session);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -242,7 +242,7 @@ on_client_request_received(struct http_session *session)
|
|
|
|
|
debuglog("Failed to add sandbox to global queue\n");
|
|
|
|
|
sandbox_free(sandbox);
|
|
|
|
|
session->state = HTTP_SESSION_EXECUTION_COMPLETE;
|
|
|
|
|
http_session_set_response_header(session, 429);
|
|
|
|
|
http_session_set_response_header(session, 429, NULL, 0);
|
|
|
|
|
on_client_response_header_sending(session);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|