Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 3c824bd3 | 2011-10-24 13:18:09 | Update copyright dates to 2011. | ||
| 4feedef9 | 2010-11-29 07:18:32 | Add a few more comments. | ||
| aab8c38b | 2010-11-05 11:17:07 | Add evhttp server alias interface, correct flagging of proxy requests. evhttp needs to be mindful of all hostnames and addresses that clients use to contact the main server and vhosts to know the difference between proxy requests and non-proxy requests. | ||
| 536311a4 | 2010-11-04 12:39:41 | evhttp: Return 501 when we get an unrecognized method, not 400. | ||
| f5b391e2 | 2010-11-04 11:53:34 | Tweak interface for allowed methods | ||
| 75a73414 | 2010-11-04 11:25:35 | Define enumerators for all HTTP methods, including PATCH from RFC5789 This patch defines enumerators for all HTTP methods that exist (including PATCH introduced in RFC 5789). It also makes them bit-masky (that's not a word, is it?), breaking binary- but not source-code compatibility. evhttp now stores a bitmask specifying for which methods requests to dispatch and which ones to reject with "405 Method Not Allowed". By default that's the ones we currently have (GET, POST, HEAD, PUT, DELETE), thereby keeping functional compatibility (besides the minor change that one of the other methods will now cause 405 instead of 400. But I believe that could even be considered a bug-fix). evhttp is extended by evhttp_set_allowed_methods() with which the user can change that bitmask. no regressions here and my test-app still works. Haven't yet actually tested any of the new methods. What's obviously missing here is the special logic for the methods: OPTIONS: We should be fine here - I believe our current dispatch logic should work fine. Some convenience functions would be fine though. TRACE: I'm pretty certain we should never dispatch this to the callbacks and simply implement the necessary functionality built-in. CONNECT: Pretty straight-forward to implement (and considering the framework in which we implement it very efficient too). Should probably go built-in. PATCH: Except for checking the RFC against our pre-dispatch logic (there just might be some "MUST not have Some-Header" lurking somewhere) there is nothing to be done here, this is completely up to the user. Nothing to do. | ||
| 74c0e862 | 2010-10-25 21:53:15 | Avoid missed-request bug when entire http request arrives before data is flushed The trigger for starting to read the first line of a request used to be, "When data has arrived and we're looking for the first line." But that's not good enough: if the entire next request gets read into our bufev->inbuf while we're still processing the current request, we'll never see any more data arrive, and so will never process it. So the fix is to make sure that whenever we hit evhttp_send_done, we call evhttp_read_cb. We can't call it directly, though, since evhttp_send_done is reachable from the user API, and evhttp_read_cb can invoke user functions, and we don't want to force everyone to have reentrant callbacks. So, we use a deferred_cb. Found by Ivan Andropov. This is bug 3008344. | ||
| 2a3b5872 | 2010-10-21 12:23:10 | Merge branch 'http_small_tweaks' Conflicts: http-internal.h | ||
| 60433a0a | 2010-08-13 17:08:59 | Clean up syntax on TAILQ_ENTRY() usage Though the C standards allow it, it's apparently possible to get MSVC upset by saying "struct { int field; } (declarator);" instead of "struct {int field; } declarator;", so let's just not do that. Bugfix for 3044492 (commit msg by nickm) | ||
| 90b3ed5b | 2010-08-09 13:25:50 | Add some comments to http.c and make a few functions static. | ||
| 17efc1cd | 2010-03-04 01:25:51 | Update all our copyright notices to say "2010" | ||
| e5bbd40a | 2010-02-18 17:41:15 | Clean up formatting: use tabs, not 8-spaces, to indent. | ||
| 8f654678 | 2010-02-03 16:25:34 | Merge remote branch 'github/http_listener' Conflicts: http.c | ||
| ec34533a | 2009-12-30 00:41:03 | Make http use evconnlistener. Now that we have a generic listen-on-a-socket mechanism, there's no longer any reason to have a separate listen-on-a-socket implementation in http.c. This also lets us use IOCP and AcceptEx() when they're enabled. Possibly, we should have a new mechanism to add a socket given only a listener. | ||
| c698b77d | 2009-12-30 00:11:27 | Allow http connections to use evdns for hostname looksups. This was as simple as using bufferevent_connect_hostname instead of calling connect() ourself, which already knows how to use an evdns_base if it gets one. Untangling the bind code might be a little trickier. | ||
| 34f28e08 | 2009-11-05 15:57:22 | Fix a few types to use compatible versions svn:r1501 | ||
| 47bad8ab | 2009-11-04 20:17:32 | Implement size limits on HTTP header length and body length. Patch from Constantine Verutin, simplified a little. svn:r1500 | ||
| 50825466 | 2009-10-21 02:14:16 | Fix windows compilation warnings. svn:r1449 | ||
| 5d71b25b | 2009-07-17 18:38:38 | Remove all trailing whitespace from end-of-line. svn:r1350 | ||
| 9516df0e | 2009-04-23 05:40:06 | Fix c89 bugs reported by Cory Stup. Others may remain. I wasn't able to get gcc --std=c89 to build libevent at all, so I don't know what compiler the original reporter is using here. Note that this change requires us to disable the part of our rpc code that uses variadic macros when using a non-gcc compiler. This is a problem if we want our rpc api to be portable. svn:r1231 | ||
| 4e8cdc6f | 2009-04-13 18:23:02 | Fix two windows compilation bugs. svn:r1171 | ||
| b85b710c | 2009-01-27 22:34:36 | Update copyright statements to reflect the facts that: a) this is 2009 b) niels and nick have been comaintainers for a while c) saying "all rights reserved" when you then go on to explicitly disclaim some rights is sheer cargo-cultism. svn:r1065 | ||
| f700566c | 2008-12-19 21:31:43 | Make the http connection close detection work properly with bufferevents and fix a potential memory leak associated with it svn:r963 | ||
| 5792d42f | 2008-11-16 23:22:14 | Allow setting of local port for evhttp connections to support millions of connections from a single system; from Richard Jones svn:r948 | ||
| 9998c0cb | 2008-06-26 00:40:57 | correct handling of trailing headers in chunked replies; from Scott Lamb. svn:r887 | ||
| 1080852e | 2008-05-12 03:12:09 | allow cancelation of user initiated http requests; this will allow cancelation of rpc requests eventually svn:r812 | ||
| 7defe4cb | 2008-05-08 15:55:09 | r15549@tombo: nickm | 2008-05-08 11:53:11 -0400 Make new http headers include minimal parts of event2/ tree; make old evhttp.h incldue event.h, since the old one did too. svn:r798 | ||
| f2a81fbc | 2008-05-05 07:17:05 | add support for virtual http hosts; no tests yet svn:r771 | ||
| f940eb4b | 2008-05-04 22:21:29 | fix a bug where it was not possible to bind multiple sockets to the same http server; test that binding multiple sockets works. svn:r769 | ||
| 4cff82bb | 2008-04-29 18:11:10 | r15339@tombo: nickm | 2008-04-29 14:03:48 -0400 Note that evhttp_hostportfile is not threadsafe, and so its usage will change. Mark its first argument const. Remove a now-redundant declaration for it in http-internal.h. svn:r743 | ||
| e44ef375 | 2008-04-29 04:52:50 | convert evhttp_connection to use bufferevents svn:r742 | ||
| 1120f04f | 2007-11-25 21:53:06 | r16731@catbus: nickm | 2007-11-25 16:52:53 -0500 Replace all fds on non-unix-specific APIs with evutil_socket_t, which is int on unix and intptr_t on win32. svn:r552 | ||
| 98f9616b | 2007-09-07 02:49:46 | support setting local address on an evhttp_connection svn:r416 | ||
| 67947ce3 | 2007-08-19 02:41:23 | provide evhttp_new and evhttp_bind_socket instead of evhttp_start; using evhttp_new, it is possible to associate an event_base with the http server so that multi-threaded applications can have their own http server per thread; add appropriate testing. svn:r397 | ||
| a91d2b2b | 2006-12-12 03:51:30 | do close-detection via a separate event svn:r301 | ||
| de7db33a | 2006-12-09 02:58:12 | low-level interfaces for streaming; from dug song i applied some bug fixes and slight re-arranged the logic on when to call the close notification callback; i also don't like the streaming interface; i'd rather see it do the chunked response formatting explicitly. svn:r298 | ||
| 852d05a3 | 2006-12-09 01:41:57 | support retrying for connections; from dug song small tweaks from me. svn:r297 | ||
| 942656bb | 2006-11-23 06:32:20 | persistent connections are somewhat complicated; detect on the client side if the server closes a persistent connection. previously, we would have failed the next request on that connection. provide test case. svn:r277 | ||
| 2d028ef6 | 2006-11-22 06:54:28 | fix a bug where rpc would not be scheduled when they were queued; test for it. allow a configurable timeout for connections and RPCs. svn:r274 | ||
| ce436242 | 2006-11-22 05:03:02 | an attempt at differentiated error handling for timeouts and eof. really this needs to be propagated all the way to the callback. svn:r273 | ||
| fda1216b | 2006-11-20 03:32:53 | generate client request code via macro; flesh out the pools a little bit. svn:r268 | ||
| 36212f9d | 2006-11-18 03:05:26 | make persistent connections work; needs more testing svn:r261 | ||
| f554234f | 2006-11-16 07:36:20 | first stab at an rpc layer; this breaks the regression test. svn:r254 | ||
| ba7262eb | 2006-07-17 00:33:57 | reorganization of the http functionality; we separate http handling into a connection object and a request object; also make it clear which buffers are used for input and output; unittests not complete yet. svn:r217 | ||
| 147b71e3 | 2006-06-10 22:28:21 | rename http.h to http-internal.h - i wish there were decent refactoring tools for open source programmers. svn:r213 |