1234567891011121314151617181920212223242526272829303132333435363738394041 |
- # Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
- #
- # This Source Code Form is subject to the terms of the Mozilla Public
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- """
- This is PYTHON 2.x version of HTTP connection establishment
- """
- import httplib
- from kea_conn import CAResponse # CARequest
- def send_to_control_agent(params):
- """ Sends a request to Control Agent, receives a response and returns it."""
- # Establish HTTP connection first.
- conn = httplib.HTTPConnection(params.http_host, params.http_port)
- conn.connect()
- # Use POST to send it
- _ = conn.putrequest('POST', params.path)
- # Send the headers first
- for k in params.headers:
- conn.putheader(k, params.headers[k])
- conn.endheaders()
- # Send the body (i.e. the actual content)
- conn.send(params.content)
- # Now get the response
- resp = conn.getresponse()
- # Now get the response details, put it in CAResponse and
- # return it
- result = CAResponse(resp.status, resp.reason, resp.read())
- conn.close()
- return result
|