Hi, I'm using libmicrohttpd 0.9.63.
Looking at the libmicrohttpd code, I don't think the behaviour has changed since then. I'm investigating a problem that I'm having with a PATCH request. It's being handled differently from a PUT request. I'm using the following to send a response to the request: #define FORBIDDEN "{\"error_text\": \"Permission Denied\"}" struct MHD_Response *response=NULL; response = MHD_create_response_from_buffer(strlen (FORBIDDEN), (void *) FORBIDDEN, MHD_RESPMEM_PERSISTENT); MHD_add_response_header(response, "Content-Type", "application/json"); ret = MHD_queue_response (connection, MHD_HTTP_FORBIDDEN, response); MHD_destroy_response (response); For a PUT request, the client is getting the response. However, with a PATCH request, the client is not getting a response. I'm using curl as the HTTP client. Looking at the MHD_connection_handle_idle function src/microhttpd/connection.c I can see that the POST and PUT methods are handled differently to everything else (e.g. when the state is MHD_CONNECTION_HEADERS_PROCESSED) Is there a reason for that? Should I be calling some other function to better handle the PATCH method? I get similar behaviour with a random method when I send data. Looking at the examples that libmicrohttpd comes with, I don't see any methods being used other than GET, HEAD and POST. Thanks in advance, Conor