Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. varnishtest "Transform ESI to Edgestash using XBody"
  2.  
  3. server s1 {
  4. rxreq
  5. txresp -body {
  6.  
  7. Start <esi:remove>
  8. ...
  9. </esi:remove>
  10. <!--esi <esi:include src="/somewhere" /> -->
  11. <!--esi
  12. <esi:include src=/2 />
  13. -->
  14. Finish
  15.  
  16. }
  17.  
  18. rxreq
  19. txresp -body somewhere
  20. expect req.url == "/somewhere"
  21.  
  22. rxreq
  23. txresp -body 2
  24. expect req.url == "/2"
  25. } -start
  26.  
  27. varnish v1 -vcl+backend {
  28. import edgestash;
  29. import xbody;
  30.  
  31. sub vcl_backend_response {
  32. xbody.regsub("<esi:remove>[\s\S]*?<\/esi:remove>", "");
  33. xbody.regsub("<!--esi([\s\S]*?)-->", "\1");
  34. xbody.regsub({"<esi:include src="?([\s\S]*?)"? ?\/>"}, "{{> \1 }}");
  35. edgestash.parse_response();
  36. }
  37.  
  38. sub vcl_deliver {
  39. edgestash.execute();
  40. }
  41. } -start
  42.  
  43. client c1 {
  44. txreq
  45. rxresp
  46. expect resp.status == 200
  47. expect resp.body ~ "Start"
  48. expect resp.body ~ "somewhere"
  49. expect resp.body ~ "Finish"
  50. } -run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement