def subMgmtReq(fN, req): xml = req.generateXML() HEADERS['Content-Length'] = str(len(xml)) conn = Http() conn.add_certificate(config.KEY, config.CERT, '') responseHeaders, responseBody = conn.request(config.LAYER7_URL+'/subscription', 'POST', body=xml, headers=HEADERS) print 'Response XML: '+responseBody+'\n'
def _http(): """Shortcut for httplib2.Http with module-specific options.""" ret = Http(**_HTTPLIB2_OPTIONS) for username, password in _HTTPLIB2_CREDENTIALS: ret.add_credentials(username, password) for key, cert, domain in _HTTPLIB2_CERTIFICATES: ret.add_certificate(key, cert, domain) return ret
def _http(): """Shortcut for httplib2.Http with module-specific options.""" ret = Http(**_HTTPLIB2_OPTIONS) for username, password in _HTTPLIB2_CREDENTIALS: ret.add_credentials(username, password) for key, cert, domain in _HTTPLIB2_CERTIFICATES: ret.add_certificate(key, cert, credentials) return ret
def publish(fN, content_blocks, message=None): req = InboxMessage(content_blocks) if message: req.message = message xml = req.generateXML() HEADERS["Content-Length"] = str(len(xml)) conn = Http() conn.add_certificate(config.KEY, config.CERT, "") responseHeaders, responseBody = conn.request(config.LAYER7_URL + "/inbox/" + fN, "POST", body=xml, headers=HEADERS) print "Response XML: " + responseBody + "\n"
def feedInformationRequest(): os.system('cls' if os.name=='nt' else 'clear') print '\n------------------------' print 'Feed Information Request' print '------------------------\n' root_attr = {'message_id': str(uuid1())} root = ET.Element('Feed_Information_Request', root_attr) xml = ET.tostring(root) HEADERS['Content-Length'] = str(len(xml)) conn = Http() conn.add_certificate(config.KEY, config.CERT, '') responseHeaders, responseBody = conn.request(config.LAYER7_URL+'/feedinfo', 'POST', body=xml, headers=HEADERS) print 'Response XML: '+responseBody+'\n' raw_input('Press any key to return to main menu.')
def poll(fN, bT, eT, cB, subID): root_attr = {'message_id': str(uuid1()), 'feed_name': fN, 'subscription_id': subID} root = ET.Element('Poll_Request', root_attr) if bT: beginTime = ET.SubElement(root, 'Exclusive_Begin_Timestamp') beginTime.text = bT if eT: endTime = ET.SubElement(root, 'Inclusive_End_Timestamp') endTime.text = eT if cB: contentBinding = ET.SubElement(root, 'Content_Binding') contentBinding.text = cB print 'Request XML: '+ET.tostring(root)+'\n' xml = ET.tostring(root) HEADERS['Content-Length'] = str(len(xml)) conn = Http() conn.add_certificate(config.KEY, config.CERT, '') responseHeaders, responseBody = conn.request(config.LAYER7_URL+'/poll', 'POST', body=xml, headers=HEADERS) print 'Response XML: '+responseBody+'\n'
class HTTPClient(object): """ For sending a message to a HTTP server using POST or GET """ def __init__(self, path, keyfile=None, certfile=None, log=None, cookiejar=None, ca_certs="", disable_ssl_certificate_validation=True): self.path = path if cookiejar is not None: self.cj = True self.server = httplib2cookie.CookiefulHttp(cookiejar, ca_certs=ca_certs, disable_ssl_certificate_validation=disable_ssl_certificate_validation) else: self.cj = False self.server = Http(ca_certs=ca_certs, disable_ssl_certificate_validation=disable_ssl_certificate_validation) self.log = log self.response = None if keyfile: self.server.add_certificate(keyfile, certfile, "") def post(self, data, headers=None, path=None): if headers is None: headers = {} if path is None: path = self.path if self.cj: (response, content) = self.server.crequest(path, method="POST", body=data, headers=headers) else: (response, content) = self.server.request(path, method="POST", body=data, headers=headers) if response.status == 200 or response.status == 201: return content # elif response.status == 302: # redirect # return self.post(data, headers, response["location"]) else: self.response = response self.error_description = content return False def get(self, headers=None, path=None): if path is None: path = self.path if headers is None: headers = {"content-type": "text/html"} (response, content) = self.server.crequest(path, method="GET", headers=headers) if response.status == 200 or response.status == 201: return content # elif response.status == 302: # redirect # return self.get(headers, response["location"]) else: self.response = response self.error_description = content return None def put(self, data, headers=None, path=None): if headers is None: headers = {} if path is None: path = self.path (response, content) = self.server.crequest(path, method="PUT", body=data, headers=headers) if response.status == 200 or response.status == 201: return content else: self.response = response self.error_description = content return False def delete(self, headers=None, path=None): if headers is None: headers = {} if path is None: path = self.path (response, content) = self.server.crequest(path, method="DELETE", headers=headers) if response.status == 200 or response.status == 201: return content else: self.response = response self.error_description = content return False def add_credentials(self, name, passwd): self.server.add_credentials(name, passwd) def clear_credentials(self): self.server.clear_credentials()
class HTTPClient(object): """ For sending a message to a HTTP server using POST or GET """ def __init__(self, path, keyfile=None, certfile=None, cookiejar=None, ca_certs="", disable_ssl_certificate_validation=True): self.path = path if cookiejar is not None: self.cj = True self.server = httplib2cookie.CookiefulHttp(cookiejar, ca_certs=ca_certs, disable_ssl_certificate_validation=disable_ssl_certificate_validation) else: self.cj = False self.server = Http(ca_certs=ca_certs, disable_ssl_certificate_validation=disable_ssl_certificate_validation) self.response = None if keyfile: self.server.add_certificate(keyfile, certfile, "") def post(self, data, headers=None, path=None): if headers is None: headers = {} if path is None: path = self.path if self.cj: (response, content) = self.server.crequest(path, method="POST", body=data, headers=headers) else: (response, content) = self.server.request(path, method="POST", body=data, headers=headers) if response.status == 200 or response.status == 201: return content # elif response.status == 302: # redirect # return self.post(data, headers, response["location"]) else: self.response = response self.error_description = content return False def get(self, headers=None, path=None): if path is None: path = self.path if headers is None: headers = {"content-type": "text/html"} (response, content) = self.server.crequest(path, method="GET", headers=headers) if response.status == 200 or response.status == 201: return content # elif response.status == 302: # redirect # return self.get(headers, response["location"]) else: self.response = response self.error_description = content return None def put(self, data, headers=None, path=None): if headers is None: headers = {} if path is None: path = self.path (response, content) = self.server.crequest(path, method="PUT", body=data, headers=headers) if response.status == 200 or response.status == 201: return content else: self.response = response self.error_description = content return False def delete(self, headers=None, path=None): if headers is None: headers = {} if path is None: path = self.path (response, content) = self.server.crequest(path, method="DELETE", headers=headers) if response.status == 200 or response.status == 201: return content else: self.response = response self.error_description = content return False def add_credentials(self, name, passwd): self.server.add_credentials(name, passwd) def clear_credentials(self): self.server.clear_credentials()