# -*- coding: utf-8 -*-
-# Copyright (c) 2014 Jack Kaliko <kaliko@azylum.org>
+# Copyright (c) 2014-2015 Jack Kaliko <kaliko@azylum.org>
# Copyright (c) 2012, 2013 Eric Larson <eric@ionrock.org>
#
# This program is free software: you can redistribute it and/or modify
# return the original handler
return False
- def add_headers(self, url):
- resp = self.cache.get(url)
- if resp and 'etag' in resp.headers:
- return {'If-None-Match': resp.headers['etag']}
- return {}
-
def cache_response(self, request, resp):
"""
Algorithm for caching requests.
def fetch_ws(self, prepreq):
"""fetch from web service"""
sess = Session()
- resp = sess.send(prepreq, timeout=SOCKET_TIMEOUT)
+ settings = sess.merge_environment_settings(prepreq.url, {}, None, False, None)
+ resp = sess.send(prepreq, timeout=SOCKET_TIMEOUT, **settings)
if resp.status_code == 304:
self.stats.update(etag=self.stats.get('etag')+1)
resp = self.controller.update_cached_response(prepreq, resp)
elif resp.status_code != 200:
raise WSHTTPError('{0.status_code}: {0.reason}'.format(resp))
- ratelimit = resp.headers.get('x-ratelimit-remaining', None)
- if ratelimit and self.stats:
- minrl = min(int(ratelimit), self.stats.get('minrl'))
- self.stats.update(minrl=minrl)
self.controller.cache_response(resp.request, resp)
return resp