#!/bin/sh

set -euo pipefail

# Initialization - load function handler
#source $LAMBDA_TASK_ROOT/"$(echo $_HANDLER | cut -d. -f1).sh"

export PATH=$PATH:/opt

# Processing
while true
do
  HEADERS="$(mktemp)"
  # Get an event
  EVENT_DATA=$(curl -sS -LD "$HEADERS" -X GET "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/invocation/next")
  REQUEST_ID=$(grep -Fi Lambda-Runtime-Aws-Request-Id "$HEADERS" | tr -d '[:space:]' | cut -d: -f2)

  # Execute the handler function from the script
  RESPONSE=$(./$(echo "$_HANDLER" | cut -d. -f2).sh "$EVENT_DATA")

  echo "=========[RESPONSE]======="
  echo "$RESPONSE"
  echo "=========[/RESPONSE]======="

  # Send the response
  curl -s -X POST "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/invocation/$REQUEST_ID/response"  -d "$RESPONSE"
done