modular_api/helpers/response_utils.py (21 lines of code) (raw):

from bottle import HTTPResponse from http import HTTPStatus def get_trace_id(tracer): return tracer.current_trace_context().trace_id def build_response(_trace_id, http_code: HTTPStatus | int = HTTPStatus.OK, content=None, message=None): if isinstance(http_code, HTTPStatus): http_code = http_code.value if content is None: content = {} if message: content['message'] = message return HTTPResponse( status=http_code, body=content, headers={ 'Content-Type': 'application/json', 'Trace-ID': _trace_id, 'Code': http_code }, )