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  }