Можно ли использовать X-AppEngine-Country в приложении? - PullRequest
3 голосов
/ 29 февраля 2012

При обслуживании запроса GAE автоматически вставляет заголовок ответа X-AppEngine-Country, установленный в значение, указывающее страну, из которой был отправлен запрос.Однако, прежде чем GAE выдаст ответ, я бы хотел использовать это значение в моем фрагменте.

Я написал этот код:

class TestPage(webapp2.RequestHandler):
    def get(self):
        country = self.response.headers["X-AppEngine-Country"]
        self.response.out.write("country %s
"% country)

Но открытие страницы приводит к сбою:

  File "/base/python27_runtime/python27_lib/versions/third_party/webob-1.1.1/webob/headers.py", line 16, in __getitem__
    raise KeyError(key)
KeyError: 'x-appengine-country'

Есть ликакие-либо способы использовать это значение в приложении?

1 Ответ

13 голосов
/ 29 февраля 2012

Вы пытаетесь получить заголовки ответа (который вы собираетесь сделать), а не заголовки запроса. Попробуйте вместо этого.

country = self.request.headers.get('X-AppEngine-Country')

http://code.google.com/appengine/docs/python/tools/webapp/requestclass.html#Request_headers

Заголовки запроса, словарь-объект. Ключи не чувствительны к регистру.

...