1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
module WEBrick
class HTTPResponse
@buffer_size: Integer
@logger: Log
@chunked: bool
@bodytempfile: File | Tempfile | nil
class InvalidHeader < StandardError
end
attr_reader http_version: HTTPVersion
attr_reader status: Integer
attr_reader header: Hash[String, String]
attr_reader cookies: Array[Cookie]
attr_accessor reason_phrase: String
interface _CallableBody
def call: (_Writer) -> void
end
attr_accessor body: String | _ReaderPartial | _CallableBody
attr_accessor request_method: String?
attr_accessor request_uri: URI::Generic?
attr_accessor request_http_version: HTTPVersion?
attr_accessor filename: String?
attr_accessor keep_alive: bool
attr_reader config: Hash[Symbol, untyped]
attr_reader sent_size: Integer
attr_accessor upgrade: String?
def initialize: (Hash[Symbol, untyped] config) -> void
def status_line: () -> String
def status=: (Integer status) -> Integer
def []: (String field) -> String?
def []=: (String field, _ToS value) -> _ToS
def content_length: () -> Integer?
def content_length=: (Integer len) -> Integer
def content_type: () -> String?
def content_type=: (String type) -> String
def each: () { (String, String) -> void } -> void
def chunked?: () -> bool
def chunked=: (boolish val) -> boolish
def keep_alive?: () -> bool
def upgrade!: (String protocol) -> void
def send_response: (_Writer socket) -> void
def setup_header: () -> void
def make_body_tempfile: () -> void
def remove_body_tempfile: () -> void
def send_header: (_Writer socket) -> void
def send_body: (_Writer socket) -> void
def set_redirect: (singleton(WEBrick::HTTPStatus::Redirect) status, URI::Generic | String url) -> bot
def set_error: (singleton(Exception) ex, ?bool backtrace) -> void
private
def check_header: (_ToS header_value) -> String
def error_body: (bool backtrace, singleton(Exception) ex, String? host, Integer? port) -> void
def send_body_io: (_Writer socket) -> void
def send_body_string: (_Writer socket) -> void
def send_body_proc: (_Writer socket) -> void
class ChunkedWrapper
@socket: _Writer
@resp: HTTPResponse
def initialize: (_Writer socket, HTTPResponse resp) -> void
def write: (_ToS buf) -> Integer
def <<: (*_ToS buf) -> self
end
# preserved for compatibility with some 3rd-party handlers
def _write_data: [T] (T socket, _ToS data) -> T
end
end
|