from six.moves.http_client import HTTPConnection, HTTPSConnection def basic(): conn = HTTPConnection('example.com') conn.request('GET', '/path') def indirect_caller(): conn = HTTPSConnection('example.com') indirect_callee(conn) def indirect_callee(conn): conn.request('POST', '/path') def method_not_known(method): conn = HTTPConnection('example.com') conn.request(method, '/path') def sneaky_setting_host(): # We don't handle that the host is overwritten directly. # A contrived example; you're not supposed to do this, but you certainly can. fake = 'fakehost.com' real = 'realhost.com' conn = HTTPConnection(fake) conn.host = real conn.request('GET', '/path') def tricky_not_attribute_node(): # A contrived example; you're not supposed to do this, but you certainly can. conn = HTTPConnection('example.com') req_meth = conn.request req_meth('HEAD', '/path')