--- /dev/null
+import sys\r
+from typing import Optional, List, Type, TypeVar, overload\r
+\r
+from .handlers import SimpleHandler\r
+from .types import WSGIApplication, WSGIEnvironment, StartResponse, ErrorStream\r
+\r
+if sys.version_info < (3,):\r
+ from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer\r
+else:\r
+ from http.server import HTTPServer, BaseHTTPRequestHandler\r
+\r
+server_version: str # undocumented\r
+sys_version: str # undocumented\r
+software_version: str # undocumented\r
+\r
+class ServerHandler(SimpleHandler): # undocumented\r
+ server_software: str\r
+ def close(self) -> None: ...\r
+\r
+class WSGIServer(HTTPServer):\r
+ application: Optional[WSGIApplication]\r
+ base_environ: WSGIEnvironment # only available after call to setup_environ()\r
+ def setup_environ(self) -> None: ...\r
+ def get_app(self) -> Optional[WSGIApplication]: ...\r
+ def set_app(self, application: Optional[WSGIApplication]) -> None: ...\r
+\r
+class WSGIRequestHandler(BaseHTTPRequestHandler):\r
+ server_version: str\r
+ def get_environ(self) -> WSGIEnvironment: ...\r
+ def get_stderr(self) -> ErrorStream: ...\r
+ def handle(self) -> None: ...\r
+\r
+def demo_app(environ: WSGIEnvironment, start_response: StartResponse) -> List[bytes]: ...\r
+\r
+_S = TypeVar("_S", bound=WSGIServer)\r
+\r
+@overload\r
+def make_server(host: str, port: int, app: WSGIApplication, *, handler_class: Type[WSGIRequestHandler] = ...) -> WSGIServer: ...\r
+@overload\r
+def make_server(host: str, port: int, app: WSGIApplication, server_class: Type[_S], handler_class: Type[WSGIRequestHandler] = ...) -> _S: ...\r