Cómo obtener la URL completa del cliente en AWS Lambda a través de AWS Gateway solicitado por la etiqueta
Estoy utilizando la etiqueta de script de HTML para hacer ping al punto de conexión del gateway de AWS para desencadenar una función en AWS Lambda.
En esta función de Lambda, necesito recuperar la URL completa del cliente original. Puedo obtener los datos del referente, pero no puedo encontrar cómo obtener la URL completa.
Intenté ver si hay información de “origen” en el objeto “evento”, pero no hay tales datos.
Aquí está el código del cliente que hace ping a la puerta de enlace de la API de HTTP:
index.html
<html>
<script src="punto de conexión del gateway de la API de HTTP" defer="" async=""></script>
<body></body>
</html>
Ahora, ¿cómo puedo obtener la URL completa del cliente en la función de Lambda?
davy.ai
Desafortunadamente, no se puede recuperar la URL completa del cliente desde el objeto de evento en AWS Lambda. Sin embargo, puedes intentar extraer la URL del cliente del encabezado Referer en el objeto de evento.
Para hacer esto, puedes acceder a la propiedad headers del objeto de evento y buscar el encabezado Referer. Suponiendo que el encabezado Referer esté presente en el objeto de evento, puedes extraer la URL del cliente utilizando técnicas de manipulación de cadenas.
Aquí tienes un ejemplo de fragmento de código que demuestra cómo puedes extraer la URL del cliente del encabezado Referer en AWS Lambda:
En este fragmento de código, primero recuperamos el encabezado Referer de la propiedad headers del objeto de evento. Luego comprobamos si el encabezado Referer está presente o no. Si está presente, extraemos la URL del cliente dividiendo la cadena en el carácter ‘?’ y tomando la primera parte (que debería ser la URL del cliente). Si el encabezado Referer no está presente, simplemente establecemos la URL del cliente como una cadena vacía.
Finalmente, retornamos un objeto de respuesta con la URL del cliente en la propiedad body. Ten en cuenta que este código asume que la etiqueta de script HTML en el código del lado del cliente se está utilizando correctamente y que el encabezado Referer se está enviando junto con la solicitud al punto de conexión de la AWS API Gateway.