github.com/avenga/couper@v1.12.2/server/testdata/integration/error_handler/05_couper.hcl (about) 1 server { 2 api { 3 endpoint "/api-backend" { 4 proxy { 5 backend { 6 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 7 timeout = "1ns" 8 } 9 } 10 } 11 12 error_handler "backend" { 13 response { 14 status = 405 15 json_body = { 16 "api": "backend" 17 } 18 } 19 } 20 } 21 22 api { 23 endpoint "/api-backend-timeout" { 24 proxy { 25 backend { 26 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 27 timeout = "1ns" 28 } 29 } 30 } 31 32 error_handler "backend_timeout" { 33 response { 34 status = 405 35 json_body = { 36 "api": "backend-timeout" 37 } 38 } 39 } 40 } 41 42 api { 43 endpoint "/api-backend-validation" { 44 proxy { 45 backend { 46 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 47 48 openapi { 49 file = "01_schema.yaml" 50 } 51 } 52 } 53 } 54 55 error_handler "backend_openapi_validation" { 56 response { 57 status = 405 58 json_body = { 59 "api": "backend-validation" 60 } 61 } 62 } 63 } 64 65 api { 66 endpoint "/api-anything" { 67 proxy { 68 backend { 69 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 70 71 openapi { 72 file = "02_schema.yaml" 73 } 74 } 75 } 76 } 77 78 error_handler "backend_openapi_validation" { 79 response { 80 status = 405 81 json_body = { 82 "api": "backend-backend-validation" 83 } 84 } 85 } 86 } 87 88 endpoint "/backend" { 89 proxy { 90 backend { 91 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 92 timeout = "1ns" 93 } 94 } 95 96 error_handler "backend" { 97 response { 98 status = 405 99 json_body = { 100 "endpoint": "backend" 101 } 102 } 103 } 104 } 105 106 endpoint "/backend-timeout" { 107 proxy { 108 backend { 109 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 110 timeout = "1ns" 111 } 112 } 113 114 error_handler "backend_timeout" { 115 response { 116 status = 405 117 json_body = { 118 "endpoint": "backend-timeout" 119 } 120 } 121 } 122 } 123 124 endpoint "/backend-validation" { 125 proxy { 126 backend { 127 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 128 129 openapi { 130 file = "01_schema.yaml" 131 } 132 } 133 } 134 135 error_handler "backend_openapi_validation" { 136 response { 137 status = 405 138 json_body = { 139 "endpoint": "backend-validation" 140 } 141 } 142 } 143 } 144 145 endpoint "/anything" { 146 proxy { 147 backend { 148 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 149 150 openapi { 151 file = "02_schema.yaml" 152 } 153 } 154 } 155 156 error_handler "backend_openapi_validation" { 157 response { 158 status = 405 159 json_body = { 160 "endpoint": "backend-backend-validation" 161 } 162 } 163 } 164 } 165 166 api { 167 endpoint "/c" { 168 proxy { 169 backend { 170 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 171 172 openapi { 173 file = "01_schema.yaml" 174 } 175 } 176 } 177 178 error_handler "backend_openapi_validation" { 179 // should win 180 response { 181 status = 405 182 body = "endpoint:backend_openapi_validation" 183 } 184 } 185 } 186 187 error_handler "backend" { 188 response { 189 status = 400 190 body = "api:backend" 191 } 192 } 193 } 194 195 api { 196 endpoint "/d" { 197 proxy { 198 backend { 199 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 200 201 openapi { 202 file = "01_schema.yaml" 203 } 204 } 205 } 206 207 error_handler "backend" { 208 // should win 209 response { 210 status = 405 211 body = "endpoint:backend" 212 } 213 } 214 } 215 216 error_handler "backend_openapi_validation" { 217 response { 218 status = 400 219 body = "api:backend_openapi_validation" 220 } 221 } 222 } 223 224 api { 225 endpoint "/e" { 226 proxy { 227 backend { 228 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 229 230 openapi { 231 file = "01_schema.yaml" 232 } 233 } 234 } 235 236 error_handler "backend_openapi_validation" { 237 // should win 238 response { 239 status = 405 240 body = "endpoint:backend_openapi_validation" 241 } 242 } 243 } 244 245 error_handler "*" { 246 response { 247 status = 400 248 body = "api:*" 249 } 250 } 251 } 252 253 api { 254 endpoint "/f" { 255 proxy { 256 backend { 257 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 258 259 openapi { 260 file = "01_schema.yaml" 261 } 262 } 263 } 264 265 error_handler "*" { 266 // should win 267 response { 268 status = 405 269 body = "endpoint:*" 270 } 271 } 272 } 273 274 error_handler "backend_openapi_validation" { 275 response { 276 status = 400 277 body = "api:backend_openapi_validation" 278 } 279 } 280 } 281 282 api { 283 endpoint "/g" { 284 proxy { 285 backend { 286 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 287 288 openapi { 289 file = "01_schema.yaml" 290 } 291 } 292 } 293 294 error_handler "backend" { 295 // should win 296 response { 297 status = 405 298 body = "endpoint:backend" 299 } 300 } 301 } 302 303 error_handler "*" { 304 response { 305 status = 400 306 body = "api:*" 307 } 308 } 309 } 310 311 api { 312 endpoint "/h" { 313 proxy { 314 backend { 315 origin = "${env.COUPER_TEST_BACKEND_ADDR}" 316 317 openapi { 318 file = "01_schema.yaml" 319 } 320 } 321 } 322 323 error_handler "*" { 324 // should win 325 response { 326 status = 405 327 body = "endpoint:*" 328 } 329 } 330 } 331 332 error_handler "backend" { 333 response { 334 status = 400 335 body = "api:backend" 336 } 337 } 338 } 339 }