mirror of https://github.com/docusealco/docuseal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.0 KiB
72 lines
2.0 KiB
module WEBrick
|
|
class HTTPServerError < ServerError
|
|
end
|
|
|
|
class HTTPServer < ::WEBrick::GenericServer
|
|
@http_version: HTTPVersion
|
|
|
|
@mount_tab: MountTable
|
|
|
|
@virtual_hosts: Array[untyped]
|
|
|
|
def initialize: (?Hash[Symbol, untyped] config, ?Hash[Symbol, untyped] default) -> void
|
|
|
|
def run: (TCPSocket sock) -> void
|
|
|
|
def service: (HTTPRequest req, HTTPResponse res) -> void
|
|
|
|
def do_OPTIONS: (HTTPRequest req, HTTPResponse res) -> void
|
|
|
|
def mount: (String dir, singleton(HTTPServlet::AbstractServlet) servlet, *untyped options) -> void
|
|
|
|
def mount_proc: (String dir, ?HTTPServlet::ProcHandler::_Callable proc) -> void
|
|
| (String dir, ?nil proc) { (HTTPRequest, HTTPResponse) -> void } -> void
|
|
|
|
def unmount: (String dir) -> MountTable::value_type
|
|
|
|
alias umount unmount
|
|
|
|
def search_servlet: (String path) -> [singleton(HTTPServlet::AbstractServlet), Array[untyped], String, String]?
|
|
|
|
def virtual_host: (instance server) -> void
|
|
|
|
def lookup_server: (HTTPRequest req) -> instance?
|
|
|
|
def access_log: (Hash[Symbol, untyped] config, HTTPRequest req, HTTPResponse res) -> void
|
|
|
|
#
|
|
# Creates the HTTPRequest used when handling the HTTP
|
|
# request. Can be overridden by subclasses.
|
|
def create_request: (Hash[Symbol, untyped] with_webrick_config) -> HTTPRequest
|
|
|
|
#
|
|
# Creates the HTTPResponse used when handling the HTTP
|
|
# request. Can be overridden by subclasses.
|
|
def create_response: (Hash[Symbol, untyped] with_webrick_config) -> HTTPResponse
|
|
|
|
class MountTable
|
|
type value_type = [singleton(HTTPServlet::AbstractServlet), Array[untyped]]
|
|
|
|
@tab: Hash[String, value_type]
|
|
|
|
@scanner: Regexp
|
|
|
|
def initialize: () -> void
|
|
|
|
def []: (String dir) -> value_type
|
|
|
|
def []=: (String dir, value_type val) -> value_type
|
|
|
|
def delete: (String dir) -> value_type
|
|
|
|
def scan: (String path) -> [String, String]
|
|
|
|
private
|
|
|
|
def compile: () -> void
|
|
|
|
def normalize: (String dir) -> String
|
|
end
|
|
end
|
|
end
|