def request_callback(self, request):
logger.debug('Mock request {} {}'.format(request.method, request.url))
path = self.build_path(request.method, request.url)
if os.path.exists(path):
# Load local file
logger.info('Using mock file {}'.format(path))
with gzip.open(path, 'rb') as f:
response = pickle.load(f)
else:
# Build from actual request
logger.info('Building mock file {}'.format(path))
response = self.real_request(request)
# Save in local file for future use
with gzip.open(path, 'wb') as f:
# Use old pickle ascii protocol (default)
# to be compatible with Python 2
f.write(pickle.dumps(response, protocol=2))
return (
response['status'],
response['headers'],
response['body'],
)
评论列表
文章目录