试图与圣杯转发请求

时间:2018-07-23 13:40:20

标签: python lambda request chalice

im试图用圣杯构建一个简单的api + lambda,它可以接收POST请求,然后在添加一些身份验证的同时将其转发到另一个API。当我在本地运行我的圣杯代码时,我可以发送请求并打印我在圣杯控制台内发送的有效载荷,但我无法转发我的请求。我没有找回我的代码中存在的任何错误或其他打印语句。我不知道在哪里可以找到更多答案,所以我在这里问。

from chalice import Chalice
import requests

app = Chalice(app_name='redirect_url')
app.debug = True
TOKEN_URL = "https://redirect.com/v0/token"
USERNAME = 'email@email.com'
PASSWORD = 'Password01021'


@app.route('/redirect_url', methods=['POST'])
def get_payload():
    update_payload = app.current_request.json_body
    print(update_payload)


def fetch_auth_token():
    username = USERNAME
    password = PASSWORD
    data = {
        "grant_type": "password",
        "username": username,
        "password": password
    }
    response = requests.post(TOKEN_URL, data=data)
    token = response.json()
    print(token)    

如果我向端点(http://127.0.0.1:8000/redirect_url)发送了一个请求,我看到我的请求打印在圣杯日志中,但是没有看到令牌请求。 我将不胜感激

1 个答案:

答案 0 :(得分:0)

这有点老了,但我想我应该为社区中的那些新来圣杯的人回答。

您希望在不调用函数的情况下触发该函数。应该是:

import requests

app = Chalice(app_name='redirect_url')
app.debug = True
TOKEN_URL = "https://redirect.com/v0/token"
USERNAME = 'email@email.com'
PASSWORD = 'Password01021'


@app.route('/redirect_url', methods=['POST'])
def get_payload():
    update_payload = app.current_request.json_body
    APIresponse = fetch_auth_token()
    print(APIresponse) ## If you want to show it right before the update_payload
    print(update_payload)


def fetch_auth_token():
    username = USERNAME
    password = PASSWORD
    data = {
        "grant_type": "password",
        "username": username,
        "password": password
    }
    response = requests.post(TOKEN_URL, data=data)
    return response.json()```