| outline |
|
||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| title | REQUEST_HEADERS_MODE Annotation | ||||||||||||||||||||||||||||
| titleTemplate | NpgsqlRest | ||||||||||||||||||||||||||||
| description | Control how HTTP request headers are passed to PostgreSQL functions. Access headers via context or parameters. | ||||||||||||||||||||||||||||
| head |
|
::: info Also known as
request_headers (with or without @ prefix)
:::
Control how HTTP request headers are passed to the PostgreSQL function.
@request_headers_mode <mode>
@request_headers <mode>
| Value | Description |
|---|---|
ignore |
Don't pass request headers to the function |
context |
Set headers as PostgreSQL context variable via set_config() |
parameter |
Pass headers to a function parameter as JSON |
comment on function simple_func() is
'HTTP GET
@request_headers_mode ignore';comment on function context_aware_func() is
'HTTP GET
@request_headers_mode context';Headers accessible via: current_setting('request.headers', true)
create function with_headers(_data text, _headers json default null)
returns json
language sql
begin atomic;
...;
end;
comment on function with_headers(text, json) is
'HTTP POST
@request_headers_mode parameter';Equivalent as a SQL file endpoint (sql/with-headers.sql):
/*
HTTP POST
@request_headers_mode parameter
@param $1 data
@param $2 headers json
*/
select json_build_object('data', $1, 'headers', $2);- Default mode is configured in
NpgsqlRest.RequestHeadersMode contextmode uses the key fromRequestHeadersContextKeysettingparametermode uses the parameter name fromRequestHeadersParameterNamesetting
- NpgsqlRest Options configuration - Configure default request headers mode
- Comment Annotations Guide - How annotations work
- Configuration Guide - How configuration works
- REQUEST_HEADERS_PARAMETER_NAME - Set parameter name