@@ -14,10 +14,12 @@ sub vcl_recv {
1414 && (req.http.cookie || req.http.authorization )
1515 && (req.request == "GET" || req.request == "HEAD" )
1616 ) {
17- set req.http.x-fos-original-url = req.url ;
18- set req.http.x-fos-original-accept = req.http.accept ;
19-
20- set req.http.accept = "application/vnd.fos.user-context-hash" ;
17+ set req.http.x-fos-original-url = req.url ;
18+ # Backup accept header, if set
19+ if (req.http.accept ) {
20+ set req.http.x-fos-original-accept = req.http.accept ;
21+ }
22+ set req.http.accept = "application/vnd.fos.user-context-hash" ;
2123
2224 # A little hack for testing all scenarios. Choose one for your application.
2325 if ("failure" == req.http.x-cache-hash ) {
@@ -38,11 +40,15 @@ sub vcl_recv {
3840 if (req.restarts > 0
3941 && req.http.accept == "application/vnd.fos.user-context-hash"
4042 ) {
41- set req.url = req.http.x-fos-original-url ;
42- set req.http.accept = req.http.x-fos-original-accept ;
43-
43+ set req.url = req.http.x-fos-original-url ;
4444 unset req.http.x-fos-original-url ;
45- unset req.http.x-fos-original-accept ;
45+ if (req.http.x-fos-original-accept ) {
46+ set req.http.accept = req.http.x-fos-original-accept ;
47+ unset req.http.x-fos-original-accept ;
48+ } else {
49+ # If accept header was not set in original request, remove the header here.
50+ unset req.http.accept ;
51+ }
4652
4753 # Force the lookup, the backend must tell not to cache or vary on the
4854 # user hash to properly separate cached data.
0 commit comments