github.com/avenga/couper@v1.12.2/server/testdata/integration/error_handler/04_couper.hcl (about) 1 server "scoped" { 2 3 access_control = ["secured"] 4 5 api { 6 base_path = "/api" 7 8 required_permission = "read" 9 endpoint "/" { 10 response { 11 status = 204 12 } 13 } 14 15 endpoint "/pow/" { 16 required_permission = { 17 post = "power" 18 } 19 20 response { 21 status = 204 22 } 23 24 error_handler "insufficient_permissions" { 25 response { 26 status = 400 27 body = "Not enough power" 28 } 29 } 30 } 31 32 error_handler "insufficient_permissions" { 33 response { 34 status = 418 35 } 36 } 37 38 } 39 40 api { 41 base_path = "/wildcard1" 42 43 error_handler "insufficient_permissions" { 44 response { 45 status = 418 46 body = "Not enough power" 47 } 48 } 49 50 endpoint "/" { 51 required_permission = "power" 52 53 response { 54 status = 204 55 } 56 57 error_handler "*" { 58 response { 59 status = 400 60 body = "Not enough power" 61 } 62 } 63 } 64 } 65 66 api { 67 base_path = "/wildcard2" 68 69 error_handler { 70 response { 71 status = 418 72 body = "Not enough power" 73 } 74 } 75 76 endpoint "/" { 77 required_permission = "power" 78 79 response { 80 status = 204 81 } 82 83 error_handler "insufficient_permissions" { 84 response { 85 status = 400 86 body = "Not enough power" 87 } 88 } 89 } 90 } 91 92 endpoint "/" { 93 required_permission = "write" 94 95 response { 96 body = "OK" 97 } 98 99 error_handler "insufficient_permissions" { 100 response { 101 status = 418 102 } 103 } 104 105 } 106 } 107 108 definitions { 109 jwt "secured" { 110 header = "Authorization" 111 signature_algorithm = "HS256" 112 key = "s3cr3t" 113 permissions_claim = "scope" 114 } 115 }