module WEBrick

module HTTPServlet
  class ProcHandler < AbstractServlet
    interface _Callable
      def call: (WEBrick::HTTPRequest, WEBrick::HTTPResponse) -> void
    end

    @proc: _Callable

    def get_instance: (HTTPServer server, *untyped options) -> self

    def initialize: (_Callable proc) -> void

    def do_GET: (HTTPRequest request, HTTPResponse response) -> void

    alias do_POST do_GET

    alias do_PUT do_GET
  end
end

end