added support for headers
This commit is contained in:
parent
f3e8d823b2
commit
df33de3914
6
freqtrade/aws/headers.py
Normal file
6
freqtrade/aws/headers.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# Defined the default HTTP headers for function responses
|
||||||
|
|
||||||
|
__HTTP_HEADERS__ = {
|
||||||
|
'Access-Control-Allow-Origin' : '*',
|
||||||
|
'Access-Control-Allow-Credentials' : True
|
||||||
|
}
|
@ -14,6 +14,8 @@ import requests
|
|||||||
|
|
||||||
db = boto3.resource('dynamodb')
|
db = boto3.resource('dynamodb')
|
||||||
|
|
||||||
|
from freqtrade.aws.headers import __HTTP_HEADERS__
|
||||||
|
|
||||||
|
|
||||||
def names(event, context):
|
def names(event, context):
|
||||||
"""
|
"""
|
||||||
@ -42,21 +44,12 @@ def names(event, context):
|
|||||||
"result": data
|
"result": data
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": 200,
|
"statusCode": 200,
|
||||||
"body": json.dumps(data)
|
"body": json.dumps(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def performance(event, context):
|
|
||||||
"""
|
|
||||||
returns the performance of the specified strategy
|
|
||||||
:param event:
|
|
||||||
:param context:
|
|
||||||
:return:
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
def get(event, context):
|
def get(event, context):
|
||||||
"""
|
"""
|
||||||
returns the code of the requested strategy, if it's public
|
returns the code of the requested strategy, if it's public
|
||||||
@ -83,12 +76,14 @@ def get(event, context):
|
|||||||
item.pop('content')
|
item.pop('content')
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": response['ResponseMetadata']['HTTPStatusCode'],
|
"statusCode": response['ResponseMetadata']['HTTPStatusCode'],
|
||||||
"body": json.dumps(item)
|
"body": json.dumps(item)
|
||||||
}
|
}
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": 404,
|
"statusCode": 404,
|
||||||
"body": json.dumps(response)
|
"body": json.dumps(response)
|
||||||
}
|
}
|
||||||
@ -129,15 +124,18 @@ def code(event, context):
|
|||||||
if "Items" in response and len(response['Items']) > 0:
|
if "Items" in response and len(response['Items']) > 0:
|
||||||
if response['Items'][0]["public"]:
|
if response['Items'][0]["public"]:
|
||||||
content = urlsafe_b64decode(response['Items'][0]['content']).decode('utf-8')
|
content = urlsafe_b64decode(response['Items'][0]['content']).decode('utf-8')
|
||||||
|
content["headers"]: __HTTP_HEADERS__
|
||||||
return content
|
return content
|
||||||
else:
|
else:
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": 403,
|
"statusCode": 403,
|
||||||
"body": json.dumps({"success": False, "reason": "Denied"})
|
"body": json.dumps({"success": False, "reason": "Denied"})
|
||||||
}
|
}
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": response['ResponseMetadata']['HTTPStatusCode'],
|
"statusCode": response['ResponseMetadata']['HTTPStatusCode'],
|
||||||
"body": json.dumps(response)
|
"body": json.dumps(response)
|
||||||
}
|
}
|
||||||
@ -168,6 +166,7 @@ def submit(event, context):
|
|||||||
|
|
||||||
result = __evaluate(data)
|
result = __evaluate(data)
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": result['ResponseMetadata']['HTTPStatusCode'],
|
"statusCode": result['ResponseMetadata']['HTTPStatusCode'],
|
||||||
"body": json.dumps(result)
|
"body": json.dumps(result)
|
||||||
}
|
}
|
||||||
@ -271,11 +270,13 @@ def submit_github(event, context):
|
|||||||
print("error: {}".format(e))
|
print("error: {}".format(e))
|
||||||
print("imported/updated: {} strategies".format(strategies))
|
print("imported/updated: {} strategies".format(strategies))
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": 200,
|
"statusCode": 200,
|
||||||
"body": json.dumps({"imported": strategies})
|
"body": json.dumps({"imported": strategies})
|
||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": 404,
|
"statusCode": 404,
|
||||||
"body": json.dumps({"error": result})
|
"body": json.dumps({"error": result})
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ import simplejson as json
|
|||||||
import os
|
import os
|
||||||
from freqtrade.aws.tables import get_trade_table, get_strategy_table
|
from freqtrade.aws.tables import get_trade_table, get_strategy_table
|
||||||
from boto3.dynamodb.conditions import Key, Attr
|
from boto3.dynamodb.conditions import Key, Attr
|
||||||
|
from freqtrade.aws.headers import __HTTP_HEADERS__
|
||||||
|
|
||||||
|
|
||||||
def store(event, context):
|
def store(event, context):
|
||||||
@ -49,6 +50,7 @@ def submit(event, context):
|
|||||||
)
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": 200,
|
"statusCode": 200,
|
||||||
"body": json.dumps(result)
|
"body": json.dumps(result)
|
||||||
}
|
}
|
||||||
@ -85,17 +87,20 @@ def get_aggregated_trades(event, context):
|
|||||||
# start key ExclusiveStartKey=response['LastEvaluatedKey']
|
# start key ExclusiveStartKey=response['LastEvaluatedKey']
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"result": response['Items'],
|
"result": response['Items'],
|
||||||
"paginationKey": response.get('LastEvaluatedKey')
|
"paginationKey": response.get('LastEvaluatedKey')
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": response['ResponseMetadata']['HTTPStatusCode'],
|
"statusCode": response['ResponseMetadata']['HTTPStatusCode'],
|
||||||
"body": json.dumps(data)
|
"body": json.dumps(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": 404,
|
"statusCode": 404,
|
||||||
"body": json.dumps({
|
"body": json.dumps({
|
||||||
"error": "sorry this query did not produce any results",
|
"error": "sorry this query did not produce any results",
|
||||||
@ -143,12 +148,14 @@ def get_trades(event, context):
|
|||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": response['ResponseMetadata']['HTTPStatusCode'],
|
"statusCode": response['ResponseMetadata']['HTTPStatusCode'],
|
||||||
"body": json.dumps(data)
|
"body": json.dumps(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return {
|
return {
|
||||||
|
"headers": __HTTP_HEADERS__,
|
||||||
"statusCode": 404,
|
"statusCode": 404,
|
||||||
"body": json.dumps({
|
"body": json.dumps({
|
||||||
"error": "sorry this query did not produce any results",
|
"error": "sorry this query did not produce any results",
|
||||||
|
Loading…
Reference in New Issue
Block a user