встроенное C & vcl-кэширование - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть URL

...../suggest?callback=jsonp9999999999999&term=something

Я хотел бы вычеркнуть callback = jsonp999999999999 & из URL, кэшировать остальные (..... / предложить? Term = что-то) и передать полный URL (..... / предложить? Callback = jsonp9999999999998 & term = что-то) снова в бэкэнд.

Когда приходит второй запрос в формате (..... / предложить? Callback = jsonp000000000000 & term = что-то) лак должен удалить callback = jsonp000000000000 & проверить кэш на наличие нажмите и верните результат из кэша.

Возможно ли это с помощью встроенных C и VCL?

Ответы [ 2 ]

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

Возможно, вы можете изменить параметры req.url так же, как манипулируете файлами cookie или другими заголовками. Вот пример того, как вырезать параметры Google Analytics перед их отправкой в ​​бэкэнд, та же логика применима и здесь.

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

Если строка запроса всегда начинается с "callback=jsonp", тогда ищите начало этого (strstr подходит для этого). Затем просто найдите следующую '&' (strchr - это функция, которую нужно использовать здесь). Затем скопируйте первую часть в новый буфер и объедините последнюю часть с этим новым буфером.

...