1
0

feat: example of apigateway rest api

This commit is contained in:
xpk
2026-03-15 13:02:59 +08:00
parent 4c3754e79f
commit c0c08b1584
8 changed files with 282 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
# this function takes in "input_string" and return the sha256 hash of that string
import json
import hashlib
def lambda_handler(event, context):
# Get input_string from query params, body, or path
input_string = None
# Try query parameters first
if 'queryStringParameters' in event and event['queryStringParameters']:
input_string = event['queryStringParameters'].get('input_string')
# Try request body
if not input_string and 'body' in event:
try:
body = json.loads(event['body']) if isinstance(event['body'], str) else event['body']
input_string = body.get('input_string')
except:
input_string = event['body']
# Try path parameter as fallback
if not input_string and 'pathParameters' in event:
input_string = event['pathParameters'].get('input_string', event['pathParameters'].get('proxy'))
if not input_string:
return {
'statusCode': 400,
'headers': {'Content-Type': 'application/json'},
'body': json.dumps({'error': 'input_string required'})
}
# Calculate SHA256
sha256_hash = hashlib.sha256(input_string.encode('utf-8')).hexdigest()
return {
'statusCode': 200,
'headers': {
'Content-Type': 'application/json'
},
'body': json.dumps({
'input_string': input_string,
'sha256': sha256_hash
})
}