def basic_decrypt() -> Response: """Basic decrypt handler for decrypt oracle v0. **Request** * **Method**: POST * **Body**: Raw ciphertext bytes * **Headers**: * **Content-Type**: ``application/octet-stream`` * **Accept**: ``application/octet-stream`` **Response** * 200 response code with the raw plaintext bytes as the body * 400 response code with whatever error code was encountered as the body """ APP.log.debug("Request:") APP.log.debug(json.dumps(APP.current_request.to_dict())) APP.log.debug("Ciphertext:") APP.log.debug(APP.current_request.raw_body) try: client = aws_encryption_sdk.EncryptionSDKClient() ciphertext = APP.current_request.raw_body plaintext, _header = client.decrypt(source=ciphertext, key_provider=_master_key_provider()) APP.log.debug("Plaintext:") APP.log.debug(plaintext) response = Response(body=plaintext, headers={"Content-Type": "application/octet-stream"}, status_code=200) except Exception as error: # pylint: disable=broad-except response = Response(body=str(error), status_code=400) APP.log.debug("Response:") APP.log.debug(json.dumps(response.to_dict(binary_types=["application/octet-stream"]))) return response
def render_template(template_name, context, status_code=200, content_type='text/html', headers=None): try: template = env.get_template(template_name) body = template.render(**context) if headers is None: headers = {} headers.update({ 'Content-Type': content_type, }) response = Response(body=body, status_code=status_code, headers=headers) print(response.to_dict()) return response except: print(error)