Странное поведение для файлов cookie Python, невозможно установить файлы cookie - PullRequest
0 голосов
/ 11 апреля 2019

Я использую Python Nameko в качестве своей инфраструктуры микросервиса, и когда я пытаюсь установить куки в своем запросе get, я не могу это сделать, ниже мой код:

from http import cookies
from nameko.web.handlers import http

@http('GET', '/hello')
    def say_hello(self, request):
        c = cookies.SimpleCookie()
        c['test-cookie'] = 'test-1'
        return 200, c, 'Hello World!'

Когда япозвоните в запрос на получение с помощью Почтальона, вот что я получаю от запроса: enter image description here

Кто-нибудь может помочь в понимании поведения?Вместо Set-Cookie ->, это ->, как показано на рисунке.Спасибо.

1 Ответ

1 голос
/ 14 апреля 2019

Согласно документам , тип ответа с тремя кортежами для nameko.http равен (status_code, headers dict, response body).То есть вторым аргументом является диктовка заголовков, которая не совпадает с объектом cookie

Чтобы установить файлы cookie, вам необходимо создать экземпляр werkzeug.wrappers.Response самостоятельно (также входит в комплект)в этом списке в документах):

    @http('GET', '/hello')
    def say_hello(self, request):
        response = Response("Hello World!")
        response.set_cookie('test-cookie', 'test-1')
        return response
...