localhost respond "To intercept" intercept { @500 status 500 replace_status @500 400 @all status 2xx 3xx 4xx 5xx replace_status @all {http.error.status_code} replace_status {http.error.status_code} @accel header X-Accel-Redirect * handle_response @accel { respond "Header X-Accel-Redirect!" } @another { header X-Another * } handle_response @another { respond "Header X-Another!" } @401 status 401 handle_response @401 { respond "Status 401!" } handle_response { respond "Any! This should be last in the JSON!" } @403 { status 403 } handle_response @403 { respond "Status 403!" } @multi { status 401 403 status 404 header Foo * header Bar * } handle_response @multi { respond "Headers Foo, Bar AND statuses 401, 403 and 404!" } } ---------- { "apps": { "http": { "servers": { "srv0": { "listen": [ ":443" ], "routes": [ { "match": [ { "host": [ "localhost" ] } ], "handle": [ { "handler": "subroute", "routes": [ { "handle": [ { "handle_response": [ { "match": { "status_code": [ 500 ] }, "status_code": 400 }, { "match": { "status_code": [ 2, 3, 4, 5 ] }, "status_code": "{http.error.status_code}" }, { "match": { "headers": { "X-Accel-Redirect": [ "*" ] } }, "routes": [ { "handle": [ { "body": "Header X-Accel-Redirect!", "handler": "static_response" } ] } ] }, { "match": { "headers": { "X-Another": [ "*" ] } }, "routes": [ { "handle": [ { "body": "Header X-Another!", "handler": "static_response" } ] } ] }, { "match": { "status_code": [ 401 ] }, "routes": [ { "handle": [ { "body": "Status 401!", "handler": "static_response" } ] } ] }, { "match": { "status_code": [ 403 ] }, "routes": [ { "handle": [ { "body": "Status 403!", "handler": "static_response" } ] } ] }, { "match": { "headers": { "Bar": [ "*" ], "Foo": [ "*" ] }, "status_code": [ 401, 403, 404 ] }, "routes": [ { "handle": [ { "body": "Headers Foo, Bar AND statuses 401, 403 and 404!", "handler": "static_response" } ] } ] }, { "status_code": "{http.error.status_code}" }, { "routes": [ { "handle": [ { "body": "Any! This should be last in the JSON!", "handler": "static_response" } ] } ] } ], "handler": "intercept" }, { "body": "To intercept", "handler": "static_response" } ] } ] } ], "terminal": true } ] } } } } }