[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [Libevent-users] bad request with evhttp libevent-2.0.10



On Wed, Jan 12, 2011 at 6:10 AM, Trong Long Dinh
<tronglongcntt@xxxxxxxxx> wrote:
> Hi all.
> I setup a simple httpd like this:
>
>> #include <stdlib.h>
>> #include <stdio.h>
>> #include <time.h>
>>
>> #include <err.h>
>> #include <event2/event.h>
>> #include <event2/http.h>
>> #include <event2/buffer.h>
>>
>> void now_handler(struct evhttp_request *req, void *arg) {
>>     struct evbuffer *buf = evhttp_request_get_output_buffer(req);
>>     evbuffer_add_printf(buf, "{\"now\":%d}", (int) time(NULL));
>>     evhttp_send_reply(req, HTTP_OK, "OK", NULL);
>> }


That's not how you send a response, I think.  Instead do it more like:

  struct evbuffer *buf = evbuffer_new();
  evbuffer_add_printf(buf, "{\"now\":%d}", (int) time(NULL));
  evhttp_send_reply(req, HTTP_OK, "OK", buf);
  evbuffer_free(buf);

If that doesn't work out for you, see if you can use some debugging
tool to see what exactly firefox is saying to your server, and what
your server is saying in response: that should make most protocol
errors pretty apparent.

yrs,
-- 
Nick
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.