2012-02-24 5 views
0

У меня есть URLрядного C & VCL кэширование

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

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

Когда второй запрос приходит в формате (...../предлагаешь? Обратного = jsonp000000000000 & термин = то) лак должен вырезать обратного вызова = jsonp000000000000 & проверить кэш для удара и вернуть результат из кеша.

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

+1

Что такое встроенный C? Вы говорите о стандарте C (например, ISO C99)? –

ответ

1

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

1

Возможно, вы можете изменить параметры req.url так же, как вы будете манипулировать куки-файлами или другими заголовками. Here's an example о том, как удалить параметры Google Analytics до того, как они будут отправлены на ваш бэкэнд, здесь применяется одна и та же логика.

Смежные вопросы