source: trunk/third/libsoup/TODO @ 21108

Revision 21108, 3.9 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r21107, which included commits to RCS files with non-trunk default branches.
RevLine 
[21107]1Known 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]10HTTP 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
27SOAP/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
40Misc 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]53General/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
105Testing
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
114Conformance
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
Note: See TracBrowser for help on using the repository browser.