1 | Known bugs/warts to fix |
---|
2 | ----------------------- |
---|
3 | * Needs to be possible to register new auth types with soup-auth.c |
---|
4 | |
---|
5 | * SoupAuthDigest/SoupServerAuthDigest don't support qop="auth-int" |
---|
6 | |
---|
7 | * We don't handle trailers in chunked responses |
---|
8 | |
---|
9 | |
---|
10 | HTTP Features |
---|
11 | ------------- |
---|
12 | |
---|
13 | * Handle gzip Content-Encoding |
---|
14 | |
---|
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 |
---|
18 | |
---|
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 | |
---|
48 | * Use gconf for config data |
---|
49 | * automatically pick up GNOME-wide proxy settings |
---|
50 | * rcd doesn't want more dependencies, so make this optional |
---|
51 | |
---|
52 | |
---|
53 | General/API stuff |
---|
54 | ----------------- |
---|
55 | |
---|
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. |
---|
60 | |
---|
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. |
---|
65 | |
---|
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.) |
---|
69 | |
---|
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 |
---|
77 | |
---|
78 | * Explicit support for Range header |
---|
79 | |
---|
80 | * Merge SoupAuth and SoupServerAuth |
---|
81 | |
---|
82 | * Merge SoupMessage and SoupServerMessage (allow chunked requests) |
---|
83 | |
---|
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 | |
---|