Medusa HTTP server for Zope
changes from Medusa's http_server
- Request Threads
Requests are processed by threads from a thread
pool.
- Output Handling
Output is pushed directly into the producer
fifo by the request-handling thread. The HTTP server does not do
any post-processing such as chunking.
- Pipelineable
This is needed for protocols such as HTTP/1.1 in
which mutiple requests come in on the same channel, before
responses are sent back. When requests are pipelined, the client
doesn't wait for the response before sending another request. The
server must ensure that responses are sent back in the same order
as requests are received.
Imported modules
|
|
import DebugLogger
from HTTPResponse import make_response
from PubCore import handle
from ZPublisher.HTTPRequest import HTTPRequest
from ZServer import CONNECTION_LIMIT, ZOPE_VERSION, ZSERVER_VERSION
from cStringIO import StringIO
from medusa import counter, producers, asyncore, max_sockets
from medusa.asyncore import compact_traceback, dispatcher
from medusa.default_handler import split_path, unquote, get_header
from medusa.http_server import http_server, http_channel
import os
import regex
import string
import sys
import thread
import time
import types
from zLOG import LOG, register_subsystem, BLATHER, INFO, WARNING, ERROR
|
Classes
|
|
|
|