platform/upstream/libsoup.git
23 years agoContent length is now a guint.
alex [Wed, 27 Dec 2000 22:05:34 +0000 (22:05 +0000)]
Content length is now a guint.

* soup-private.h: Content length is now a guint.

* soup-queue.c (soup_parse_headers): Added minimum status-line length check.

* soup-queue.c (soup_queue_request): Removed g_error() call for user-iwned response buffers. We now just issue a SOUP_ERROR_CANCELLED callback and print a warning.

23 years agoMade SoupConnection wrap Gnet's TcpSocket. This means there are no gnet
alex [Tue, 26 Dec 2000 05:33:58 +0000 (05:33 +0000)]
Made SoupConnection wrap Gnet's TcpSocket. This means there are no gnet

* Made SoupConnection wrap Gnet's TcpSocket. This means there are no gnet references in the public interface.

* Lots of code cleanup/reorg/bugfixes.

23 years agoHeader parsing works according to spec, including multi-line headers.
alex [Wed, 20 Dec 2000 07:23:25 +0000 (07:23 +0000)]
Header parsing works according to spec, including multi-line headers.

* Header parsing works according to spec, including multi-line headers.

* Content-length driven responses work correctly.

* Chunked encoding almost working :)

* Updated simple-test to take a url from the command line.

23 years agoForgot to set the path for cases where we don't have a querystring (which
alex [Wed, 13 Dec 2000 08:07:53 +0000 (08:07 +0000)]
Forgot to set the path for cases where we don't have a querystring (which

* soup-uri.c (soup_uri_new): Forgot to set the path for cases where we don't have a querystring (which is most of the time). Doh.

* soup-uri.c (soup_uri_get_default_port): No such thing as an smtp://foo@bar uri, only mailto:foo@bar.

23 years agoBeginnings of test-suite added.
alex [Wed, 13 Dec 2000 07:28:42 +0000 (07:28 +0000)]
Beginnings of test-suite added.

* Beginnings of test-suite added.

* Made SoupContext opaque. Removed SoupContextPrivate. Added soup_context_get_uri() to get the uri string for a given context.

* Added a response_headers hashtable to SoupRequest so the callback can do whatever it wants with passed headers. All entries in this hashtable are just parsed strings from req->priv->recv_buf, so no new strings are allocated.

* Renamed custom_headers to request_headers

* Fixed context creation logic

* Made soup_servers hashtable use case insensitive hostname matching.

* Removed SOUP_ERROR_URI_NOT_FOUND, SOUP_ERROR_URI_NOT_PERMITTED, and SOUP_ERROR_URI_OBJECT_MOVED from SoupCallbackResult enum. Its up to the application to figure out all the different HTTP states. This may change however.

* Added querystring to SoupUri, so that contexts can be cached based only on path.

* Added default port logic to SoupUri. Known protocols are https (port 443), http (80), smtp/mailto (25), and ftp (20).

23 years agoAlso changed the passing of a gchar** to a gchar* in
alex [Tue, 12 Dec 2000 03:30:19 +0000 (03:30 +0000)]
Also changed the passing of a gchar** to a gchar* in

* Also changed the passing of a gchar** to a gchar* in soup_process_headers()'s sscanf().

23 years agoInternal rehash of handling cases where the connection limit is reached,
alex [Tue, 12 Dec 2000 03:27:47 +0000 (03:27 +0000)]
Internal rehash of handling cases where the connection limit is reached,

* Internal rehash of handling cases where the connection limit is reached, involves setting a timeout event source to check for the ability to create a connection, and allowing either the timeout or the gnet connect routine to be canceled depending on the current connect state. Clients should now use soup_context_cancel_connect() to cancel a connection in progress.

23 years agoDon't use glibc sscanf extensions.
alex [Tue, 12 Dec 2000 00:06:31 +0000 (00:06 +0000)]
Don't use glibc sscanf extensions.

* Don't use glibc sscanf extensions.

23 years agoBetter error checking on HTTP response line.
alex [Mon, 11 Dec 2000 23:46:00 +0000 (23:46 +0000)]
Better error checking on HTTP response line.

* Better error checking on HTTP response line.

* Avoid doing a lookup for every used header by iterating the hash table and doing a strcmp for all known headers. This is not necessarily faster for several cases, but it allows us to gather custom headers at the same time and avoid a second iteration.

23 years agoRewrote the connection pool logic, and cleaned up the request queueing
alex [Mon, 11 Dec 2000 08:18:59 +0000 (08:18 +0000)]
Rewrote the connection pool logic, and cleaned up the request queueing

* Rewrote the connection pool logic, and cleaned up the request queueing loop.

* Added ref/unref to SoupContext.

* Made getting a connection for a SoupContext generic which cleans up the code and makes it useable for purposes other than soup.

* Connection limits handling moved to the connection pooling to avoid races, and allows for better handling when we have hit the connection limit.

* Added soup-misc.[ch] which provide global functions for getting and setting the proxy context and the connection limit.

* Changed proxy to be a SoupContext.

* Support for http headers near completion.

* Added support for custom request headers which can override the standard headers without duplication.

* Lots of code reorg and cleaning up.

23 years agoReplaced CVS gnet feature for setting TCP_NODELAY
alex [Thu, 7 Dec 2000 03:43:34 +0000 (03:43 +0000)]
Replaced CVS gnet feature for setting TCP_NODELAY

23 years agoInitial version
alex [Wed, 6 Dec 2000 22:28:48 +0000 (22:28 +0000)]
Initial version