MCPcopy Create free account
hub / github.com/cxapython/catvm / _498_retry_request

Method _498_retry_request

selenium/scrapy_splash/middleware.py:436–461  ·  view source on GitHub ↗

Return a retry request for HTTP 498 responses. HTTP 498 means load_args are not present on server; client should retry the request with full argument values instead of their hashes.

(self, request, response)

Source from the content-addressed store, hash-verified

434 self._remote_keys[fp] = key
435
436 def _498_retry_request(self, request, response):
437 """
438 Return a retry request for HTTP 498 responses. HTTP 498 means
439 load_args are not present on server; client should retry the request
440 with full argument values instead of their hashes.
441 """
442 meta = copy.deepcopy(request.meta)
443 local_arg_fingerprints = meta['splash']['_local_arg_fingerprints']
444 args = meta['splash']['args']
445 args.pop('load_args', None)
446 args['save_args'] = list(local_arg_fingerprints.keys())
447
448 for name, fp in local_arg_fingerprints.items():
449 args[name] = self._argument_values[fp]
450 # print('remote_keys before:', self._remote_keys)
451 self._remote_keys.pop(fp, None)
452 # print('remote_keys after:', self._remote_keys)
453
454 body = json.dumps(args, ensure_ascii=False, sort_keys=True, indent=4)
455 # print(body)
456 request = request.replace(
457 meta=meta,
458 body=body,
459 priority=request.priority+self.retry_498_priority_adjust
460 )
461 return request
462
463 def _set_download_slot(self, request, meta, slot_policy):
464 if slot_policy == SlotPolicy.PER_DOMAIN:

Callers 1

process_responseMethod · 0.95

Calls 1

replaceMethod · 0.45

Tested by

no test coverage detected