úÎ!c~]œZ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYNone ,4567;MMQ#infernal"Environment variables set by AWS ( ehttps://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtimedocsr). You may not need to read any of these, but the implementation needs the API endpoint var to handle requests.infernal From the AWS_LAMBDA_LOG_GROUP_NAME env varinfernal From the AWS_LAMBDA_LOG_STREAM_NAME env varinfernal From the AWS_LAMBDA_FUNCTION_VERSION env varinfernal From the AWS_LAMBDA_FUNCTION_NAME env varinfernal From the LAMBDA_TASK_ROOT env varinfernal From the AWS_LAMBDA_RUNTIME_API env varinfernal From the AWS_LAMBDA_FUNCTION_MEMORY_SIZE env var infernal From the _HANDLER env var infernal(An error formatted to propagate to AWS ( Whttps://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html#runtimes-api-invokeerrordocs). Note that this is an Z| so you can throw it to short-circuit processing and report useful information. By default, if you throw anything else a - will be reported with no useful information. infernal=The type of error that occurred. In this library is is often  StartCase -formated. infernalA useful error messageinfernalA response to the , typically as encoded JSON.infernal3The request parsed from the "next invocation" API ( Phttps://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html#runtimes-api-nextdocs)infernal From the Lambda-Runtime-Aws-Request-Id headerinfernal From the Lambda-Runtime-Trace-Id headerinfernal From the #Lambda-Runtime-Invoked-Function-Arn headerinfernal From the Lambda-Runtime-Deadline-Ms header, an epoch deadline in msinfernal.The unparsed request body. Typically you will  this.infernal*The UUID associated with a Lambda request.infernalA   that indicates a vague  InternalError to AWS.-infernal3User callbacks to be invoked by the main loop (see :)./infernalSee 40infernalSee 31infernalSee 22infernal³A handler for otherwise uncaught errors (like failures to fetch next invocation). These happen outside context in which we can report them to AWS, so there is no need to return a  . Exceptions of type [/ will be rethrown after this callback executes.3infernal7Error mapper for invocation errors. The result will be POST%ed to the invocation error endpoint ( Whttps://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html#runtimes-api-invokeerrordocs). Exceptions of type  % will not trigger this callback, and [$ will be rethrown after it executes.4infernal‰The "function" part of your Lambda: takes a request with a JSON-encoded body and returns a JSON-encoded response body. You can throw any ZK and the appropriate error callbacks will process it. Most importantly,  . will propagate a formatted error to AWS, and [# will halt the program. Except for [D, throwing exceptions here will not terminate the main loop (see :Ô). Note that the AWS custom runtime loop implemented in this library is single-threaded (as required - we must finish an invocation before fetching the next) but you are free to spawn threads in your callback.5infernal1Error mapper for init errors. The result will be POSTed to the init error endpoint ( Uhttps://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html#runtimes-api-initerrordocs). Exceptions of type  % will not trigger this callback, and [$ will be rethrown after it executes.6infernalA 5 that always returns .7infernalA - that returns  from all error callbacks.8infernalDecodes a request with \ or throws a   (BadRequestError).9infernalEncodes a response with ],. (Mostly here to save you an Aeson import.):infernal'The full-powered entrypoint underlying ; that allows you to use any ^ÿ-capable monad for your callbacks. This runs the main loop of our AWS Lambda Custom Runtime to fetch invocations, process them, and report errors or results. Control will not return from this function, and AWS Lambda will terminate the process at its will.;infernal&A simple entrypoint that delegates to :. Use this as the body of your mainj function if you want to get a Lambda function up and running quickly. All you need to do is provide a 4R that handles JSON-encoded requests and returns JSON-encoded responses (or throws  B exceptions). Your callback has access to a simple logger (try _T, for example) whose output will be collected by Lambda and published to CloudWatch.:infernalRuns your monad n in IO (see  MonadUnliftIO from  unliftio-core)infernal%Error mapper for the callback builderinfernaleCallback builder. When possible, do init work here so the framework can propagate init errors to AWS.+ -./0123456789:;+-./0153  428769:;None ,4567;MPg>infernalAn API Gateway proxy responseCinfernalAn API Gateway proxy request>?@ABCDEFGHIJKLCDEFGHIJKL>?@ABNone ,4567;M\ÁUinfernalTurn an C into a WAI `#. (Not all fields will be present!)Vinfernal Turn a WAI a into an >(, materializing the whole response body.Winfernal Adapt a WAI b9 into a function that handles API Gateway proxy requests.Xinfernal Adapt a WAI b into a 4A to handle API Gateway proxy requests encoded as Lambda requests.Yinfernal$A simple entrypoint to run your WAI b in a Lambda function. (See ;‡ for more information on these entrypoints.) You can configure API Gateway to send proxied HTTP requests as JSON to your Lambda (as C¸) and have your WAI Application service them with this entrypoint. (Correct API Gateway configuration is pretty tricky, so consult all the documentation available to figure it out.)UVWXYWUVXYNone ,4567;M]wcdefghijk      !"#$%&'()*+,-.//0123456789:;<=>??@ABCCDEFGHIJKLMNOPQRSTUVWXYZ[Y\]^_`^abcdefghijkijlimnopqrstuvw%infernal-0.3.0-6x9jhkeaDTq78l8lsFd4SMInfernalInfernal.Events.APIGateway Infernal.Wai Data.AesondecodePaths_infernal LambdaVars_lvLogGroupName_lvLogStreamName_lvFunctionVersion_lvFunctionName _lvTaskRoot_lvApiEndpoint_lvFunctionMemory_lvHandlerName LambdaError_lerrErrorType_lerrErrorMessageLambdaResponse_unLambdaResponse LambdaRequest_lreqId _lreqTraceId_lreqFunctionArn_lreqDeadlineMs _lreqBodyLambdaRequestId_unLambdaRequestIddefaultLambdaError$fToJSONLambdaError$fExceptionLambdaError$fEqLambdaRequestId$fShowLambdaRequestId$fOrdLambdaRequestId$fIsStringLambdaRequestId$fHashableLambdaRequestId$fEqLambdaRequest$fShowLambdaRequest$fEqLambdaResponse$fShowLambdaResponse$fOrdLambdaResponse$fIsStringLambdaResponse$fHashableLambdaResponse$fEqLambdaError$fShowLambdaError$fGenericLambdaErrorCallbackConfig_cbcRunCallback_cbcInvokeErrorCallback_cbcUncaughtErrorCallbackUncaughtErrorCallbackInvokeErrorCallback RunCallbackInitErrorCallbackdefaultInitErrorCallbackdefaultCallbackConfig decodeRequestencodeResponse runLambdarunSimpleLambda$fHasSimpleLogLambdaEnv$fHasLambdaEnvLambdaEnvAPIGatewayProxyResponse_agprsStatusCode _agprsHeaders _agprsBodyAPIGatewayProxyRequest_agprqResource _agprqPath_agprqHttpMethod _agprqHeaders_agprqQueryStringParameters_agprqPathParameters_agprqStageVariables _agprqBody $fFromJSONAPIGatewayProxyRequest!$fFromJSONAPIGatewayProxyResponse$fToJSONAPIGatewayProxyResponse$fEqAPIGatewayProxyRequest$fShowAPIGatewayProxyRequest$fGenericAPIGatewayProxyRequest$fEqAPIGatewayProxyResponse$fShowAPIGatewayProxyResponse adaptRequest adaptResponseadaptApplicationapplicationCallbackrunSimpleWaiLambdabaseGHC.Exception.Type ExceptionGHC.IO.ExceptionExitCode$aeson-1.4.6.0-CVJg8x8CwYyHRDrbccmlL3Data.Aeson.Types.FromJSONFromJSONData.Aeson.Types.ToJSONToJSON,unliftio-core-0.1.2.0-DmlZdkLzX278vkyONsp8WQControl.Monad.IO.UnliftUnliftIO&heart-app-0.1.1-2cdBv0PltOYI5TUjSm5uzsHeart.App.LogginglogDebug"wai-3.2.2.1-KnYIgMkchi2FbKMcqdbpAINetwork.Wai.InternalRequestResponse Network.Wai Applicationversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName