github.com/avenga/couper@v1.12.2/server/testdata/endpoints/11_couper.hcl (about) 1 server { # sequences 2 endpoint "/simple" { 3 request "resolve" { 4 url = "${request.headers.origin}/" 5 headers = { 6 Accept = "application/json" 7 X-Value = "my-value" 8 } 9 } 10 11 request { 12 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 13 headers = { 14 x = backend_responses.resolve.headers.y-value 15 } 16 json_body = backend_responses.resolve.json_body 17 } 18 } 19 20 endpoint "/simple-proxy" { 21 request "resolve" { 22 url = "${request.headers.origin}/" 23 headers = { 24 Accept = "application/json" 25 X-Value = "my-proxy-value" 26 } 27 } 28 29 proxy { 30 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 31 set_request_headers = { 32 x = backend_responses.resolve.headers.y-value 33 y = backend_responses.resolve.body 34 } 35 } 36 } 37 38 endpoint "/simple-proxy-named" { 39 request { 40 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 41 headers = { 42 x = backend_responses.resolve.headers.y-value 43 } 44 } 45 46 proxy "resolve" { 47 url = "${request.headers.origin}/" 48 } 49 } 50 51 endpoint "/complex-proxy" { 52 request "resolve" { # use the reflected origin header to obtain the y-value 53 url = "${backend_responses.resolve_first.headers.origin}/" 54 } 55 56 request "resolve_first" { 57 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 58 headers = { 59 origin = request.headers.origin 60 } 61 } 62 63 proxy { 64 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 65 set_request_headers = { 66 x = backend_responses.resolve.headers.y-value 67 } 68 } 69 } 70 71 endpoint "/parallel-complex-proxy" { 72 request "standalone" { # parallel with both sequences 73 url = "${backend_responses.resolve_first.headers.origin}/" 74 } 75 76 request "resolve" { # use the reflected origin header to obtain the y-value 77 url = "${backend_responses.resolve_first.headers.origin}/" 78 } 79 80 request "resolve_first" { 81 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 82 headers = { 83 origin = request.headers.origin 84 } 85 } 86 87 request "resolve_gamma" { # use the reflected origin header to obtain the y-value 88 url = "${backend_responses.resolve_gamma_first.headers.origin}/" 89 } 90 91 request "resolve_gamma_first" { 92 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 93 headers = { 94 origin = request.headers.origin 95 } 96 } 97 98 proxy { 99 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 100 set_request_headers = { 101 x = backend_responses.resolve.headers.y-value 102 } 103 } 104 105 response { 106 headers = { 107 x = backend_responses.default.headers.x 108 y = backend_responses.resolve_gamma.headers.y-value 109 z = backend_responses.standalone.headers.y-value 110 } 111 } 112 } 113 114 endpoint "/parallel-complex-nested" { 115 request "last" { # seq waiting for the other sequences in parallel 116 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 117 headers = { 118 a = backend_responses.resolve_gamma.headers.y-value 119 b = backend_responses.resolve.headers.y-value 120 } 121 } 122 123 request "resolve" { # use the reflected origin header to obtain the y-value 124 url = "${backend_responses.resolve_first.headers.origin}/" 125 } 126 127 request "resolve_first" { 128 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 129 headers = { 130 origin = request.headers.origin 131 } 132 } 133 134 request "resolve_gamma" { # use the reflected origin header to obtain the y-value 135 url = "${backend_responses.resolve_gamma_first.headers.origin}/" 136 } 137 138 request "resolve_gamma_first" { 139 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 140 headers = { 141 origin = request.headers.origin 142 } 143 } 144 145 proxy { 146 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 147 set_request_headers = { 148 x = backend_responses.resolve.headers.y-value 149 } 150 } 151 152 response { 153 headers = { 154 a = backend_responses.last.headers.a 155 b = backend_responses.last.headers.b 156 x = backend_responses.default.headers.x 157 y = backend_responses.resolve_gamma.headers.y-value 158 } 159 } 160 } 161 162 endpoint "/multiple-request-uses" { 163 request "r1" { 164 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 165 } 166 request "r2" { 167 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 168 json_body = backend_responses.r1.json_body 169 } 170 request { 171 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 172 json_body = [ 173 backend_responses.r1.json_body 174 , 175 backend_responses.r2.json_body 176 ] 177 } 178 } 179 180 endpoint "/multiple-proxy-uses" { 181 proxy "p1" { 182 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 183 } 184 request "r2" { 185 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 186 json_body = backend_responses.p1.json_body 187 } 188 request { 189 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 190 json_body = [ 191 backend_responses.p1.json_body 192 , 193 backend_responses.r2.json_body 194 ] 195 } 196 } 197 198 endpoint "/multiple-sequence-uses" { 199 request "r1" { 200 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 201 } 202 request "r2" { 203 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 204 json_body = backend_responses.r1.json_body 205 } 206 request "r3" { 207 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 208 json_body = backend_responses.r2.json_body 209 } 210 request "r4" { 211 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 212 json_body = backend_responses.r2.json_body 213 } 214 request { 215 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 216 json_body = [ 217 backend_responses.r3.json_body 218 , 219 backend_responses.r4.json_body 220 ] 221 } 222 } 223 224 endpoint "/multiple-parallel-uses" { 225 request "r1" { 226 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 227 } 228 request "r2" { 229 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 230 } 231 request "r3" { 232 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 233 json_body = [ 234 backend_responses.r1.json_body 235 , 236 backend_responses.r2.json_body 237 ] 238 } 239 request "r4" { 240 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 241 json_body = [ 242 backend_responses.r1.json_body 243 , 244 backend_responses.r2.json_body 245 ] 246 } 247 request { 248 url = "${env.COUPER_TEST_BACKEND_ADDR}/reflect" 249 json_body = [ 250 backend_responses.r3.json_body 251 , 252 backend_responses.r4.json_body 253 ] 254 } 255 } 256 }