parse parameters
Project description
purus
purus
parses parameters provided from Lambda@Edge on CloudFront, and it manipulates request and response.
It is named after The Purus River, or a tributary of The Amazon River.
Install
$ pip install purus
Usage
CloudFront:Lambda@Edge
purus
can parse parameters of
- viewer-request
- origin-request
- origin-response
- viewer-response
# Lambda@Edge
from purus.amazon_cloudfront import CloudFrontLambdaEdge
# on viewer-request or origin-request
def lambda_handler(event: dict, _):
# load data
lambda_edge = CloudFrontLambdaEdge.from_event(event=event)
# return on error
if some_error_occurred:
pseudo_payload = lambda_edge.add_pseudo_response(
status="400",
status_description="error_occurred"
)
return pseudo_payload.response.format()
# redirect
if redirect_condition:
pseudo_payload = lambda_edge.add_pseudo_redirect_response(
status="307",
status_description="Redirect",
location_url="https://redirect.example.com"
)
return pseudo_payload.response.format()
# add headers to request
modified_request = lambda_edge.append_request_header(
key="X-Original-Header",
value="Your data"
).append_request_header(
key="X-Original-Header",
value="Your additional data"
)
# to request
return modified_request.request.format()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
purus-0.1.1.tar.gz
(7.0 kB
view hashes)
Built Distribution
purus-0.1.1-py3-none-any.whl
(6.8 kB
view hashes)