The reference to the "ganeti" project has always been totally arbitrary
and false. It is true that some parts of "websrv_lib" have been based
on Python's BaseHTTPServer and SimpleHTTPServer classes, but not more
than that. Overriding and perhaps resembling to parent classes is the
most common thing in OO programming. But never copied or knew about
any "ganeti" project whatsoever. (actually, the code mentioned at the
url admits itself that it copies the BaseHTTPServer, a common
denominator)
Git history to your help, all the code evolution is clearly recorded.
bzr revid: p_christ@hol.gr-20101123183357-fjroqywizql2qdkk
They will report "HTTP/1.0" to us, while they support (and need) the
authorisation features of HTTP/1.1 .
This makes WebDAV work for some Mac OSX versions.
bzr revid: p_christ@hol.gr-20101123154448-0z7s5o77256cj1tu
While searching for the KTHML bug, noticed that partial http requests
would falsely be honoured. Instead, we must check if the full headers
(including the blank line) have been parsed before we dispatch the
request to the virtual handler class.
Conflicts:
bin/service/websrv_lib.py
bzr revid: p_christ@hol.gr-20101123153558-oh44mjkhwjaebwow
Since we have moved all code into the websrv_lib, we must also support
this non-standard extension in our do_OPTIONS(). It has been noted that
some Win XP machines wouldn't connect to our WebDAV unless we set that
header.
bzr revid: p_christ@hol.gr-20101123134932-65wmh8bntuwt4jvc
Useful for automated statistics, returns the global SQL counter of queries.
It does not affect any counters, and will print a warning if debug_sql
is not enabled (counter would be zero, then).
bzr revid: p_christ@hol.gr-20101117115232-olq747j4vmauqgy8
The os user and sys elapsed times are very useful for performance metrics,
they can tell us how much did the openerp server try for some operation.
Conflicts:
bin/service/web_services.py
bzr revid: p_christ@hol.gr-20101116162025-go5lx4qs658pt7t5
For CalDAV, we need to allow the handler to fine-tune its OPTIONS response.
So, better cleanup the API and allow request handlers to define their OPTIONS.
bzr revid: p_christ@hol.gr-20100726093336-afzp15rys9oua4a0
If a request doesn't start with a valid HTTP request line, log that
whole line.
For some strange reason, kernel 2.6.35-rc3+ triggered xml request lines
to appear.
bzr revid: p_christ@hol.gr-20100726093336-962hxsxoij0pn2ba
the websrv_lib must conform to the BaseHTTPServer API, that does not
define an exception logging function, nor does it encourage the use
of individual pythonic loggers. So, have a function that is optionally
called, upon exception.
This improves much over the 'log_error()' call, because it allows us
to see all those bugs that would make a http method fail.
bzr revid: p_christ@hol.gr-20100726093335-e3hxsri766o2fzxp
Now, fixes nautilus trying to browse the server for WebDAV, conforms to
the http standard.
Handlers should better inherit the HttpOptions class and define their
supported options.
bzr revid: p_christ@hol.gr-20100726093335-xzkqw60uyy87mcnq
If some http request fails with an unhandled exception, it is better
to send back the 500 error and close the connection, not leave the client
waiting for a response.
bzr revid: p_christ@hol.gr-20100726093335-o0p4ibon2uvfjxxn
Now, it is possible to serve static http from the files
of one dir. Just configure like:
[static-http]
enable = True
dir_path = /home/panos/build/openerp/doc/build/html
and the contents of that directory will be served as a
default at our http port ;)
Conflicts:
bin/service/http_server.py
bzr revid: p_christ@hol.gr-20100726093334-2xr5mg0c9xvm68ej
For debugging reasons, we should know what services we have registered
in our multi-dir http server.
Conflicts:
bin/service/web_services.py
bzr revid: p_christ@hol.gr-20100726093334-7074r91i63e4g7jg
If we happen to register the '/' service, and then try to register the
'/webdav/' one, the latter must be inserted before the more generic path.
bzr revid: p_christ@hol.gr-20100726093334-3w7hyaukhzw9xpup