как получить тело запроса в лаке - PullRequest
4 голосов
/ 11 ноября 2011

Я сейчас работаю над проектом на основе лака ..

мы пишем vcl и vmod.Но проект должен проверить тело запроса.Как получить тело почтового запроса в VCL или vmod с C function?

Ответы [ 2 ]

4 голосов
/ 29 августа 2012

Вы можете делать практически все, что вы хотите с VCL / VMOD.Вы должны попытаться вызвать подпрограмму VMOD в vcl_recv, а затем в коде C написать что-то вроде следующего:

  • Используйте VRT_GetHdr(rec->s, HDR_REQ, "\017Content-Length:");, чтобы прочитать длину тела
  • Используйте HTC_Read(rec->s->htc, body, bodylen);

И наслаждайтесь!

Вам следует взглянуть на существующие vmods https://www.varnish -cache.org / vmods , и можете свободно просматриватьИсточники API лака.

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

Я не уверен, что вы можете.

Лак обычно работает только с заголовками Req / Resp.Тела передаются без (значительной) модификации.

Если вы нашли решение, пожалуйста, дайте мне знать, поскольку я также заинтересован в этом.

...