(self, cfg, unreader, peer_addr)
| 170 | |
| 171 | class Message: |
| 172 | def __init__(self, cfg, unreader, peer_addr): |
| 173 | self.cfg = cfg |
| 174 | self.unreader = unreader |
| 175 | self.peer_addr = peer_addr |
| 176 | self.remote_addr = peer_addr |
| 177 | self.version = None |
| 178 | self.headers = [] |
| 179 | self.trailers = [] |
| 180 | self.body = None |
| 181 | self.scheme = "https" if cfg.is_ssl else "http" |
| 182 | self.must_close = False |
| 183 | self._expected_100_continue = False |
| 184 | |
| 185 | # set headers limits |
| 186 | self.limit_request_fields = cfg.limit_request_fields |
| 187 | if (self.limit_request_fields <= 0 |
| 188 | or self.limit_request_fields > MAX_HEADERS): |
| 189 | self.limit_request_fields = MAX_HEADERS |
| 190 | self.limit_request_field_size = cfg.limit_request_field_size |
| 191 | if self.limit_request_field_size <= 0: |
| 192 | self.limit_request_field_size = DEFAULT_MAX_HEADERFIELD_SIZE |
| 193 | |
| 194 | # set max header buffer size |
| 195 | max_header_field_size = self.limit_request_field_size or DEFAULT_MAX_HEADERFIELD_SIZE |
| 196 | self.max_buffer_headers = self.limit_request_fields * \ |
| 197 | (max_header_field_size + 2) + 4 |
| 198 | |
| 199 | unused = self.parse(self.unreader) |
| 200 | self.unreader.unread(unused) |
| 201 | self.set_body_reader() |
| 202 | |
| 203 | def force_close(self): |
| 204 | self.must_close = True |
no test coverage detected