Есть ли способ извлечь пользовательский заголовок запроса с помощью cgicc? - PullRequest
2 голосов
/ 08 июня 2009

Я использую Cgicc , который имеет несколько методов для извлечения определенных заголовков запроса, например, getUserAgent возвращает заголовок «User-Agent».

Существует ли универсальный метод, который может возвращать произвольное значение заголовка, например, что-то вроде

getHeaderValue("x-my-header");

Есть ли способ сделать это с помощью cgicc? и если это невозможно сделать с помощью cgicc, как еще можно извлечь пользовательский заголовок из запроса в c ++?

1 Ответ

3 голосов
/ 09 июня 2009

Нет, cgicc не поддерживает это напрямую. Тем не менее, это всего лишь обертка вокруг CGI. http://en.wikipedia.org/wiki/Common_Gateway_Interface и использует "getenv" в CgiInput класс для извлечения всей информации, предоставленной веб-сервером.

Так что, если клиент отправляет заголовок, который не поддерживается непосредственно CgiCC, но поддерживается веб-сервером (скажем, Accept-Encoding:), вам просто нужно прочитать соответствующий переменная окружения getenv("HTTP_ACCEPT_ENCODING")

Но он должен поддерживаться веб-сервером, с которым вы работаете

РЕДАКТИРОВАТЬ: фактически в соответствии с CGI RFC http://www.ietf.org/rfc/rfc3875.txt веб-сервер должен предоставить переменную окружения для вашего примера: HTTP_X_MY_HEADER

...