def get_request(): # copy of headers headers = Headers(request.headers) # remove unwanted extra headers for h in REMOVE_HEADERS: if headers.has_key(h): headers.pop(h) json_headers = json.dumps(OrderedDict(headers)) # create file if not exists if not os.path.isfile(os.path.abspath(HTTP_HEADERS_FILENAME)): with open(os.path.abspath(HTTP_HEADERS_FILENAME), "w+"): pass # read file with open(os.path.abspath(HTTP_HEADERS_FILENAME), "r") as f: headers_data = f.readlines() # append new headers headers_data.append(json_headers + ",\n") # deduplicate headers_data_to_write = dedup(headers_data) # write output data with open(os.path.abspath(HTTP_HEADERS_FILENAME), "w") as f: for h in headers_data_to_write: f.write(h) return json_headers
def set_adsws_uid_header(valid, oauth): """ If the user is authenticated, inject the header "X-adsws-uid" into the incoming request header """ h = Headers(request.headers.items()) if current_user.is_authenticated(): h.add_header("X-Adsws-Uid", current_user.id) elif h.has_key("X-Adsws-Uid"): h.remove("X-Adsws-Uid") # being paranoid if valid: level = oauth.client.ratelimit if level is None: level = 1.0 h.add_header("X-Adsws-Ratelimit-Level", level) else: h.add_header("X-Adsws-Ratelimit-Level", 0.0) request.headers = h return valid, oauth