Ejemplos
El siguiente ejemplo muestra una función Lambda de Python que puede gestionar los tipos de interceptores REQUEST y RESPONSE. El interceptor REQUEST registra el método MCP y pasa la solicitud sin cambios, mientras que el interceptor RESPONSE pasa la respuesta sin cambios.
Pass-through interceptor
Este ejemplo muestra un interceptor simple que registra el método MCP para los interceptores REQUEST y pasa todas las solicitudes y respuestas sin cambios:
import json import logging # Configure logging logger = logging.getLogger() logger.setLevel(logging.INFO) def lambda_handler(event, context): """ Lambda function that handles both REQUEST and RESPONSE interceptor types. For REQUEST interceptors: logs the MCP method and passes request through unchanged For RESPONSE interceptors: passes response through unchanged """ # Extract the MCP data from the event mcp_data = event.get('mcp', {}) # Check if this is a REQUEST or RESPONSE interceptor based on presence of gatewayResponse if 'gatewayResponse' in mcp_data and mcp_data['gatewayResponse'] != None: # This is a RESPONSE interceptor logger.info("Processing RESPONSE interceptor - passing through unchanged") # Pass through the original request and response unchanged response = { "interceptorOutputVersion": "1.0", "mcp": { "transformedGatewayResponse": { "body": mcp_data.get('gatewayResponse', {}).get('body', {}), "statusCode": mcp_data.get('gatewayResponse', {}).get('statusCode', 200) } } } else: # This is a REQUEST interceptor gateway_request = mcp_data.get('gatewayRequest', {}) request_body = gateway_request.get('body', {}) mcp_method = request_body.get('method', 'unknown') # Log the MCP method logger.info(f"Processing REQUEST interceptor - MCP method: {mcp_method}") # Pass through the original request unchanged response = { "interceptorOutputVersion": "1.0", "mcp": { "transformedGatewayRequest": { "body": request_body, } } } return response
Esta función Lambda se puede configurar como interceptor de SOLICITUD y RESPUESTA. Cuando se configura como un interceptor de solicitudes, registrará el método MCP de la solicitud entrante. Cuando se configura como un interceptor de respuesta, simplemente transmitirá la respuesta sin cambios. Ambos tipos de interceptores devuelven los datos originales sin modificarlos, lo que lo convierte en un interceptor de «transferencia».