• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/curl/curl-7.36.0/tests/

Lines Matching refs:self

75   def __init__(self):
77 self._buffer = ""
78 self._pending_headers = {}
79 self._pending_request = ""
80 self._state = self.LOOKING_FOR_GET
81 self._were_all_requests_http_1_1 = True
82 self._valid_requests = []
84 def ParseAdditionalData(self, data):
103 self._buffer += data.replace('\r', '')
106 if self._state == self.LOOKING_FOR_GET:
107 should_continue_parsing = self._DoLookForGet()
108 elif self._state == self.READING_HEADERS:
109 should_continue_parsing = self._DoReadHeader()
111 raise Error('Unexpected state: ' + self._state)
112 if len(self._buffer) > MAX_REQUEST_SIZE:
114 'Request is at least %d bytes' % len(self._buffer))
115 valid_requests = self._valid_requests
116 self._valid_requests = []
120 def were_all_requests_http_1_1(self):
121 return self._were_all_requests_http_1_1
123 def _DoLookForGet(self):
132 m = self.REQUEST_RE.match(self._buffer)
143 self._were_all_requests_http_1_1 = False
147 self._pending_request = path
148 self._buffer = self._buffer[m.end():]
149 self._state = self.READING_HEADERS
152 def _DoReadHeader(self):
158 if self._buffer.startswith('\n'):
159 self._buffer = self._buffer[1:]
160 self._state = self.LOOKING_FOR_GET
161 self._valid_requests.append((self._pending_request,
162 self._pending_headers))
163 self._pending_headers = {}
164 self._pending_request = ""
167 m = self.HEADER_RE.match(self._buffer)
173 if header not in self._pending_headers:
174 self._pending_headers[header] = value
175 self._buffer = self._buffer[m.end():]
182 def __init__(self):
184 self._max_pipeline_depth = 0
185 self._requested_paths = []
186 self._processed_end = False
187 self._were_all_requests_http_1_1 = True
189 def QueueRequests(self, requested_paths, were_all_requests_http_1_1):
195 self._requested_paths.extend(requested_paths)
196 self._were_all_requests_http_1_1 = were_all_requests_http_1_1
198 def Chunkify(self, data, chunksize):
203 def BuildResponses(self):
210 self._max_pipeline_depth = max(self._max_pipeline_depth,
211 len(self._requested_paths))
212 for path, headers in self._requested_paths:
215 result += self._BuildResponse(
222 result += self._BuildResponse(
229 result += self._BuildResponse(
238 result += self._BuildResponse(
244 result += self._BuildResponse(
249 result += self._BuildResponse(
251 self._processed_end = True
256 result += self._BuildResponse(
264 result += self._BuildResponse(
272 result += self._BuildResponse(
282 body = self.Chunkify(moo, 20480)
286 result += self._BuildResponse(
291 'max_pipeline_depth': self._max_pipeline_depth,
292 'were_all_requests_http_1_1': int(self._were_all_requests_http_1_1),
295 result += self._BuildResponse(
298 self._processed_end = True
301 result += self._BuildResponse('404 Not Found', ['Content-Length: 7'], 'Go away')
302 if self._processed_end:
304 self._requested_paths = []
307 def WriteError(self, status, error):
316 return self._BuildResponse(
320 def processed_end(self):
321 return self._processed_end
323 def _BuildResponse(self, status, headers, body):
343 def _GetTimeUntilTimeout(self):
344 return self._start_time + TIMEOUT - time.time()
346 def _GetTimeUntilNextSend(self):
347 if not self._last_queued_time:
349 return self._last_queued_time + SEND_BUFFER_TIME - time.time()
351 def handle(self):
352 self._request_parser = RequestParser()
353 self._response_builder = ResponseBuilder()
354 self._last_queued_time = 0
355 self._num_queued = 0
356 self._num_written = 0
357 self._send_buffer = ""
358 self._start_time = time.time()
360 while not self._response_builder.processed_end or self._send_buffer:
362 time_left = self._GetTimeUntilTimeout()
363 time_until_next_send = self._GetTimeUntilNextSend()
367 fileno = self.request.fileno()
370 if self._send_buffer:
374 if self._GetTimeUntilTimeout() <= 0:
377 if self._GetTimeUntilNextSend() <= 0:
378 self._send_buffer += self._response_builder.BuildResponses()
379 self._num_written = self._num_queued
380 self._last_queued_time = 0
383 self.request.setblocking(False)
384 new_data = self.request.recv(MAX_REQUEST_SIZE)
385 self.request.setblocking(True)
388 new_requests = self._request_parser.ParseAdditionalData(new_data)
389 self._response_builder.QueueRequests(
390 new_requests, self._request_parser.were_all_requests_http_1_1)
391 self._num_queued += len(new_requests)
392 self._last_queued_time = time.time()
394 num_bytes_sent = self.request.send(self._send_buffer[0:4096])
395 self._send_buffer = self._send_buffer[num_bytes_sent:]
399 self.request.send(self._response_builder.WriteError(
403 self.request.send(self._response_builder.WriteError(
407 self.request.send(self._response_builder.WriteError(
411 self.request.close()