ADCT Python
Python client API implementation for publishing ADCT data
Loading...
Searching...
No Matches
Classes | Functions | Variables
adctk.http_publisher Namespace Reference

Classes

class  HttpPublisher
 Web server publisher implementation using the requests library. More...
 
class  HttpStatusCodeError
 

Functions

 handle_request_status (returned_data)
 
 http_post (method, url, headers, payload, timeouts)
 

Variables

dict _defaults
 

Function Documentation

◆ handle_request_status()

adctk.http_publisher.handle_request_status (   returned_data)
log status and raise if error is unexpected
29def handle_request_status(returned_data):
30 """log status and raise if error is unexpected"""
31 status_code = returned_data.status_code
32 if status_code < 200 or status_code > 300:
33 logger.error(f"Status Code: {status_code}, Message: {returned_data.text}")
34 raise HttpStatusCodeError(status_code)
35 logger.info(f"Posting successful with status Code: {status_code}")
36

◆ http_post()

adctk.http_publisher.http_post (   method,
  url,
  headers,
  payload,
  timeouts 
)
log message send attempt
37def http_post(method, url, headers, payload, timeouts):
38 """log message send attempt"""
39 logger.info(f"Posting to URL: {url}")
40 logger.debug(f"Headers: {headers}, Payload: {payload}, timeout{timeouts}")
41 ret = method(url, headers=headers, data=payload, timeout=timeouts)
42 try:
43 handle_request_status(ret)
44 except HttpStatusCodeError as e:
45 logger.info("adctk.http_post: exception %s for message %s", e, payload)
46 return ret
47
48
49#pylint: disable-next=too-many-instance-attributes

Variable Documentation

◆ _defaults

dict adctk.http_publisher._defaults
protected
Initial value:
1= { "URL": Publisher.get_url_default(),
2 "TIMEOUTS": Publisher.get_timeout_defaults(),
3 "PORT": Publisher.get_port_default()}