[21107] | 1 | Known bugs/warts to fix |
---|
| 2 | ----------------------- |
---|
| 3 | * Needs to be possible to register new auth types with soup-auth.c |
---|
[19534] | 4 | |
---|
[21107] | 5 | * SoupAuthDigest/SoupServerAuthDigest don't support qop="auth-int" |
---|
[19534] | 6 | |
---|
[21107] | 7 | * We don't handle trailers in chunked responses |
---|
[19534] | 8 | |
---|
| 9 | |
---|
[21107] | 10 | HTTP Features |
---|
| 11 | ------------- |
---|
[19534] | 12 | |
---|
[21107] | 13 | * Handle gzip Content-Encoding |
---|
[19534] | 14 | |
---|
[21107] | 15 | * Handle cookies (RFC 2109) via a SoupCookieJar message filter |
---|
| 16 | * RFC 2965 supposedly obsoletes 2109, but I don't think |
---|
| 17 | anyone uses it |
---|
[19534] | 18 | |
---|
[21107] | 19 | * Handle caching, also via SoupMessageFilter |
---|
| 20 | * rcd has some of the logic for this already |
---|
| 21 | |
---|
| 22 | * NTLM Proxy-Authentication support, GSS-Negotiate support |
---|
| 23 | |
---|
| 24 | * Pipelining |
---|
| 25 | |
---|
| 26 | |
---|
| 27 | SOAP/XML-RPC Features |
---|
| 28 | --------------------- |
---|
| 29 | |
---|
| 30 | * Add XML-RPC support (bug-buddy wants this) |
---|
| 31 | |
---|
| 32 | * Bring back WSDL compiler from old soup module? |
---|
| 33 | |
---|
| 34 | * The current SoupSoapMessage/Response API doesn't really make life a |
---|
| 35 | whole lot easier for the user... You have to marshall the data in |
---|
| 36 | exactly the right order anyway, so you might as well just be |
---|
| 37 | g_string_appending... |
---|
| 38 | |
---|
| 39 | |
---|
| 40 | Misc Features |
---|
| 41 | ------------- |
---|
| 42 | |
---|
| 43 | * Bring back SOCKS support? |
---|
| 44 | |
---|
| 45 | * Bring back CGI server support? (Split SoupServer into SoupServerTCP |
---|
| 46 | and SoupServerCGI) |
---|
| 47 | |
---|
[19534] | 48 | * Use gconf for config data |
---|
[21107] | 49 | * automatically pick up GNOME-wide proxy settings |
---|
| 50 | * rcd doesn't want more dependencies, so make this optional |
---|
[19534] | 51 | |
---|
| 52 | |
---|
[21107] | 53 | General/API stuff |
---|
| 54 | ----------------- |
---|
[19534] | 55 | |
---|
[21107] | 56 | * Thread safety |
---|
| 57 | * This is at mostly done, but need to figure out what other |
---|
| 58 | things need to be thread-safe, and document which ones |
---|
| 59 | aren't. |
---|
[19534] | 60 | |
---|
[21107] | 61 | * Documentation (API, tutorial) |
---|
| 62 | * gtk-doc is not currently picking up all of the objects. |
---|
| 63 | This probably has something to do with the fact that |
---|
| 64 | some of the typdefs are in soup-types.h. |
---|
[19534] | 65 | |
---|
[21107] | 66 | * User-Agent handling: caller should specify a User-Agent string to |
---|
| 67 | SoupSession, and soup should automatically append libsoup/#.## to |
---|
| 68 | that. (Likewise for Server/Via headers.) |
---|
[19534] | 69 | |
---|
[21107] | 70 | * File-system-like asynchronous mode (eg, you write the request / read |
---|
| 71 | the response in as many pieces as you want. If you try to read or |
---|
| 72 | write more than you can, the EAGAIN is returned all they way to the |
---|
| 73 | caller, who must call the relevant soup function again later to |
---|
| 74 | continue reading or writing). |
---|
| 75 | * needed if we wanted to do a soup-based gnome-vfs http |
---|
| 76 | backend |
---|
[19534] | 77 | |
---|
[21107] | 78 | * Explicit support for Range header |
---|
[19534] | 79 | |
---|
[21107] | 80 | * Merge SoupAuth and SoupServerAuth |
---|
[19534] | 81 | |
---|
[21107] | 82 | * Merge SoupMessage and SoupServerMessage (allow chunked requests) |
---|
[19534] | 83 | |
---|
[21107] | 84 | * Improve SoupServer handlers to allow for expect-continue handling, |
---|
| 85 | reading chunked requests a chunk at a time, etc. |
---|
| 86 | * Use SoupMessageFilter |
---|
| 87 | * Improving SoupServer's API will probably result in |
---|
| 88 | completely breaking it. |
---|
| 89 | |
---|
| 90 | * SoupProxy (based on simple-proxy, but better), which connects a |
---|
| 91 | SoupServer to a SoupSession with SoupMessageFilters in between. |
---|
| 92 | * Make it possible to implement CONNECT on the server side (by |
---|
| 93 | having a way to steal the socket from the SoupServer). |
---|
| 94 | |
---|
| 95 | * Add date-parsing/generating routines (all HTTP-specified formats) |
---|
| 96 | |
---|
| 97 | * Special handling on server side for HEAD (don't send response.body). |
---|
| 98 | |
---|
| 99 | * Simple higher-level API (a la E2kContext) |
---|
| 100 | * the Connector stuff has a lot of Exchange-specific |
---|
| 101 | assumptions and exceptions. Might not be possible to |
---|
| 102 | migrate Connector to a generic API |
---|
| 103 | |
---|
| 104 | |
---|
| 105 | Testing |
---|
| 106 | ------- |
---|
| 107 | |
---|
| 108 | * More regression tests |
---|
| 109 | |
---|
| 110 | * Add apache config files to tests/ so that apache can be run locally |
---|
| 111 | to run regression tests against |
---|
| 112 | |
---|
| 113 | |
---|
| 114 | Conformance |
---|
| 115 | ----------- |
---|
| 116 | |
---|
| 117 | * Check handling of unknown HTTP versions [RFC ????] |
---|
| 118 | |
---|
| 119 | * Don't do HTTP/1.1-specific behavior on HTTP/1.0 messages |
---|
| 120 | |
---|
| 121 | * Preserve header ordering (on send and receive). Treat |
---|
| 122 | "Foo:bar\r\nFoo:baz" the same as "Foo: bar, baz" |
---|
| 123 | |
---|
| 124 | * Enforce rules about what requests/responses MUST/MUST NOT have a |
---|
| 125 | body |
---|
| 126 | |
---|
| 127 | * Encode space as "+" in URIs. |
---|
| 128 | |
---|
| 129 | * Don't automatically process redirects on non-GET/HEAD requests |
---|
| 130 | |
---|
| 131 | * Properly mangle HTTP/1.0 requests containing Connection headers |
---|
| 132 | [14.10] |
---|
| 133 | |
---|
| 134 | * Automatically add Date header in SoupServer |
---|
| 135 | |
---|
| 136 | * MUST observe DNS TTL information |
---|
| 137 | |
---|
| 138 | * Make it possible to send/receive "OPTIONS * HTTP/1.1" (SoupURI won't |
---|
| 139 | currently accept "*") |
---|
| 140 | |
---|
| 141 | * [get SHOULDs and SHOULD NOTs in] |
---|
| 142 | |
---|