zephyr/subsys/net/lib/http/Kconfig
Jukka Rissanen 08dc8f93fe net: http_server: Add wildcard support to resource strings
Allow user to specify resource string using wildcard characters
so that multiple URL paths can be served with just one handler.

Fixes #73367

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-05-31 09:57:22 -05:00

145 lines
4.1 KiB
Plaintext

# Copyright (c) 2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
config HTTP_PARSER
bool "HTTP Parser support"
select HTTP_PARSER_URL
help
This option enables the http_parser library from nodejs.
This parser requires some string-related routines commonly
provided by a libc implementation.
config HTTP_PARSER_URL
bool "HTTP Parser for URL support"
help
This option enables the URI parser library based on source from nodejs.
This parser requires some string-related routines commonly
provided by a libc implementation.
config HTTP_PARSER_STRICT
bool "HTTP strict parsing"
depends on (HTTP_PARSER || HTTP_PARSER_URL)
help
This option enables the strict parsing option
config HTTP_CLIENT
bool "HTTP client API"
select HTTP_PARSER
select HTTP_PARSER_URL
help
HTTP client API
config HTTP_SERVER
bool "HTTP Server [EXPERIMENTAL]"
select HTTP_PARSER
select HTTP_PARSER_URL
select EXPERIMENTAL
help
HTTP1 and HTTP2 server support.
if HTTP_SERVER
config HTTP_SERVER_STACK_SIZE
int "HTTP server thread stack size"
default 3072
help
HTTP server thread stack size for processing RX/TX events.
config HTTP_SERVER_NUM_SERVICES
int "Number of HTTP Server Instances"
default 1
range 1 100
help
This setting determines the number of http services that the server supports.
config HTTP_SERVER_MAX_CLIENTS
int "Max number of HTTP/2 clients"
default 3
range 1 100
help
This setting determines the maximum number of HTTP/2 clients that the server can handle at once.
config HTTP_SERVER_MAX_STREAMS
int "Max number of HTTP/2 streams"
default 10
range 1 100
help
This setting determines the maximum number of HTTP/2 streams for each client.
config HTTP_SERVER_CLIENT_BUFFER_SIZE
int "Client Buffer Size"
default 256
range 64 1024
help
This setting determines the buffer size for each client.
config HTTP_SERVER_HUFFMAN_DECODE_BUFFER_SIZE
int "Size of the buffer used for decoding Huffman-encoded strings"
default 256
range 64 1024
help
Size of the buffer used for decoding Huffman-encoded strings when
processing HPACK compressed headers. This effectively limits the
maximum length of an individual HTTP header supported.
config HTTP_SERVER_MAX_URL_LENGTH
int "Maximum HTTP URL Length"
default 256
range 32 2048
help
This setting determines the maximum length of the HTTP URL that the server can process.
config HTTP_SERVER_MAX_CONTENT_TYPE_LENGTH
int "Maximum HTTP Content-Type Length"
default 64
range 1 128
help
This setting determines the maximum length of the HTTP Content-Length field.
config HTTP_SERVER_CLIENT_INACTIVITY_TIMEOUT
int "Client inactivity timeout (seconds)"
default 10
range 1 86400
help
This timeout specifies maximum time the client may remain inactive
(i. e. not sending or receiving any data) before the server drops the
connection.
config HTTP_SERVER_WEBSOCKET
bool "Allow upgrading to Websocket connection"
select WEBSOCKET_CLIENT
select WEBSOCKET
help
If this is enabled, then the user can allow the HTTP connection to be
upgraded to a Websocket connection. The user can then define a Websocket
handler that is called after upgrading to handle the Websocket network
traffic.
config HTTP_SERVER_RESOURCE_WILDCARD
bool "Allow wildcard matching of resources"
select FNMATCH
help
Allow user to specify wildcards when setting up resource strings.
This means that instead of specifying multiple resources with exact
string matches, one resource handler could handle multiple URLs.
endif
# Hidden option to avoid having multiple individual options that are ORed together
config HTTP
bool
depends on (HTTP_PARSER_URL || HTTP_PARSER || HTTP_CLIENT || HTTP_SERVER)
default y
module = NET_HTTP
module-dep = NET_LOG
module-str = Log level for HTTP client library
module-help = Enables HTTP client code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"
module = NET_HTTP_SERVER
module-dep = NET_LOG
module-str = Log level for HTTP server library
module-help = Enables HTTP server code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"