summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO.txt2
-rw-r--r--waitress/channel.py1
-rw-r--r--waitress/interfaces.py4
-rw-r--r--waitress/server.py24
4 files changed, 18 insertions, 13 deletions
diff --git a/TODO.txt b/TODO.txt
index 71ac7a8..ca3b9a4 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -23,3 +23,5 @@
- Ensure upload streams can not exceed a maximum size.
- Test paste server runner on windows.
+
+- SERVER_IDENT -> ident
diff --git a/waitress/channel.py b/waitress/channel.py
index f7dac0a..4f25ce7 100644
--- a/waitress/channel.py
+++ b/waitress/channel.py
@@ -33,7 +33,6 @@ class HTTPServerChannel(asyncore.dispatcher, object):
Call set_async() to give the channel back to the thread handling
the main loop.
"""
-
task_class = HTTPTask
parser_class = HTTPRequestParser
diff --git a/waitress/interfaces.py b/waitress/interfaces.py
index 567cc27..f57bd1a 100644
--- a/waitress/interfaces.py
+++ b/waitress/interfaces.py
@@ -215,6 +215,10 @@ class IServer(Interface):
overridden.
""")
+ def getsockname():
+ """ Return the IP-address, port number pair to which this server's
+ socket is bound"""
+
class IDispatcherLogging(Interface):
"""This interface provides methods through which the Dispatcher will
diff --git a/waitress/server.py b/waitress/server.py
index 9732da6..c34f130 100644
--- a/waitress/server.py
+++ b/waitress/server.py
@@ -25,10 +25,10 @@ from waitress import trigger
class WSGIHTTPServer(asyncore.dispatcher, object):
"""
if __name__ == '__main__':
- from waitress.taskthreads import ThreadedTaskDispatcher
+ from waitress.task import ThreadedTaskDispatcher
td = ThreadedTaskDispatcher()
td.setThreadCount(4)
- server = WSGIHTTPServer('', 8080, task_dispatcher=td)
+ server = WSGIHTTPServer(app, '', 8080, task_dispatcher=td)
server.run()
"""
@@ -80,20 +80,20 @@ class WSGIHTTPServer(asyncore.dispatcher, object):
else:
server_name = str(self.socketmod.gethostname())
# Convert to a host name if necessary.
- is_hostname = False
for c in server_name:
if c != '.' and not c.isdigit():
- is_hostname = True
- break
- if not is_hostname:
- try:
- if server_name == '0.0.0.0':
- return 'localhost'
- server_name = self.socketmod.gethostbyaddr(server_name)[0]
- except socket.error: # pragma: no cover
- pass
+ return server_name
+ try:
+ if server_name == '0.0.0.0':
+ return 'localhost'
+ server_name = self.socketmod.gethostbyaddr(server_name)[0]
+ except socket.error: # pragma: no cover
+ pass
return server_name
+ def getsockname(self):
+ return self.socket.getsockname()
+
def accept_connections(self):
self.accepting = True
self.socket.listen(self.adj.backlog) # Get around asyncore NT limit