2017-08-01 148 views

回答

1

最简单,普通和最快的方式:拥抱提供requestbody( POST)如果它们作为参数存在(https://github.com/timothycrosley/hug/issues/120)。

@hug.get('/headers', output=hug.output_format.json) 
def headers(request, header_name: hug.types.text=None): 
    if header_name is None: 
     return request.headers 
    return {header_name: request.get_header(header_name)} 
2

创建自定义指令[1]:

@hug.directive() 
def headers(request=None, **kwargs): 
    """Returns the request""" 
    return request and request.headers 

要使用它,在前面加上魔法hug_前缀:

@hug.post('/sns/test') 
def sns_test(hug_headers): 
    message_type = 'X-AMZ-SNS-MESSAGE-TYPE' 
    is_subscription = message_type in hug_headers \ 
         and hug_headers[message_type] == 'SubscriptionConfirmation' 
    return {'is_sub': is_subscription} 
+0

无需为此创建任何指令,hug提供请求(如果作为参数存在) – danigosa

+0

Thanks @danigosa。我无法从文档中弄清楚这一点,但它非常合理。 – monty0

+0

使用hug的一个缺点是它的文档很差,没有记录。有时候我认为他们在颜色,CSS和图像上花费的时间比代码示例要多,我希望他们将来能够改进 – danigosa

相关问题