def do_put_for_cookie(uri, body, headers = get_form_headers()): ''' usually we don't care about the returned headers, but in the case of login, for instance, we need the cookie it returns ''' method = "PUT" record_api_for_step(method, uri) world.conn.request(method, add_params(uri), urllib.urlencode(body, doseq=True), headers) response = world.conn.getresponse() # stolen from Carl Meyer's code # Work around httplib2's broken multiple-header handling # http://code.google.com/p/httplib2/issues/detail?id=90 # This will break if a cookie value contains commas. cookies = [c.split(";")[0].strip() for c in response.getheader("set-cookie").split(",")] auth_cookie = [c for c in cookies if c.startswith("USERTOKEN=")][0] data = verify_status(200, response, "%s %s:\n%s" % (method, uri, body)) return data, auth_cookie
def do_get(uri, params = {}, headers = get_json_headers(), exp_status = 200): record_api_for_step("GET", uri) world.conn.request("GET", add_params(uri, params), "", headers) response = world.conn.getresponse() return verify_status(exp_status, response, str(uri))
def do_put_for_cookie(uri, body, headers=get_form_headers()): ''' usually we don't care about the returned headers, but in the case of login, for instance, we need the cookie it returns ''' method = "PUT" record_api_for_step(method, uri) world.conn.request(method, add_params(uri), urllib.urlencode(body, doseq=True), headers) response = world.conn.getresponse() # stolen from Carl Meyer's code # Work around httplib2's broken multiple-header handling # http://code.google.com/p/httplib2/issues/detail?id=90 # This will break if a cookie value contains commas. cookies = [ c.split(";")[0].strip() for c in response.getheader("set-cookie").split(",") ] auth_cookie = [c for c in cookies if c.startswith("USERTOKEN=")][0] data = verify_status(200, response, "%s %s:\n%s" % (method, uri, body)) return data, auth_cookie
def do_get(uri, params={}, headers=get_json_headers(), exp_status=200): record_api_for_step("GET", uri) world.conn.request("GET", add_params(uri, params), "", headers) response = world.conn.getresponse() return verify_status(exp_status, response, str(uri))
def do_request(method, uri, params = {}, body = None, headers = get_form_headers(), exp_status = 200): ''' do the request ''' record_api_for_step(method, uri) if body == None: # del headers["Content-Type"] world.conn.request(method, add_params(uri, params), None, headers) else: encoded_body = urllib.urlencode(body, doseq=True) world.conn.request(method, add_params(uri, params), encoded_body, headers) response = world.conn.getresponse() return verify_status(exp_status, response, "%s %s:\n%s" % (method, uri, body))
def do_request(method, uri, params={}, body=None, headers=get_form_headers(), exp_status=200): ''' do the request ''' record_api_for_step(method, uri) if body == None: # del headers["Content-Type"] world.conn.request(method, add_params(uri, params), None, headers) else: encoded_body = urllib.urlencode(body, doseq=True) world.conn.request(method, add_params(uri, params), encoded_body, headers) response = world.conn.getresponse() return verify_status(exp_status, response, "%s %s:\n%s" % (method, uri, body))