Chocs Middleware.Xray 1.0.0 | Coderz Repository

chocs-middleware.xray 1.0.0

Last updated:

0 purchases

chocs-middleware.xray 1.0.0 Image
chocs-middleware.xray 1.0.0 Images

Free

Languages

Categories

Add to Cart

Description:

chocsmiddleware.xray 1.0.0

chocs-aws-xray
AWS X-Ray middleware for chocs library.
Installation
through poetry:
poetry add chocs_middleware.xray

or through pip:
pip install chocs_middleware.xray

Usage
The following snippet is the simplest integration example.

Please note x-ray won't work in WSGI mode, it has to be deployed as aws lambda in order to work.

from chocs import Application, HttpResponse, serve
from chocs_middleware.xray import AwsXRayMiddleware

app = Application(AwsXRayMiddleware())


@app.get("/hello")
def say_hello(request):
return HttpResponse("Hello")

serve(app)

Setting up custom error handler
AWS X-Ray middleware provides a way to setup a custom error handler which may become handy when you
need to supplement your logs with additional information. Please consider the following example:
from chocs import Application, HttpResponse, HttpStatus
from chocs_middleware.xray import AwsXRayMiddleware

def error_handler(request, error, segment):
segment.add_exception(error)

return HttpResponse("NOT OK", HttpStatus.INTERNAL_SERVER_ERROR)

app = Application(AwsXRayMiddleware(error_handler=error_handler))


@app.get("/hello")
def say_hello(request):
raise Exception("Not Today!")
return HttpResponse("Hello")


To learn more about error_handler interface please click here.

Accessing x-ray recorded from within your application layer
from chocs import Application, HttpResponse
from chocs_middleware.xray import AwsXRayMiddleware

app = Application(AwsXRayMiddleware())

@app.get("/hello")
def say_hello(request):
xray_recorder = request.attributes["aws_xray_recorder"] # Here is the instance of your recorder.

return HttpResponse("OK")

That's all.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product: (if this is empty don't purchase this product)

Customer Reviews

There are no reviews.