216 lines
6.7 KiB
Plaintext
216 lines
6.7 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
|
|
imply NET_IPV4_MAPPING_TO_IPV6 if NET_IPV4 && NET_IPV6
|
|
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 $(UINT32_MAX)
|
|
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 $(UINT32_MAX)
|
|
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_MAX_HEADER_LEN
|
|
int "Maximum HTTP Header Field/Value Length"
|
|
default 32
|
|
range 32 512
|
|
help
|
|
This setting determines the maximum length of HTTP header field or value
|
|
that can be parsed. The default value is sufficient for HTTP server
|
|
internal header processing, and only needs to be increased if the
|
|
application wishes to access headers of a greater length.
|
|
|
|
config HTTP_SERVER_HTTP2_MAX_HEADER_FRAME_LEN
|
|
int "Maximum HTTP/2 response header frame length"
|
|
default 64
|
|
range 64 2048
|
|
help
|
|
This setting determines the maximum length of an HTTP/2 header frame
|
|
(applies to response headers only, not request headers). The default
|
|
value is sufficient for the standard headers included with a response,
|
|
and only needs to be increased if the application wishes to send
|
|
additional response headers.
|
|
|
|
config HTTP_SERVER_CAPTURE_HEADERS
|
|
bool "Allow capturing HTTP headers for application use"
|
|
help
|
|
This setting enables the HTTP server to capture selected headers that have
|
|
been registered by the application.
|
|
|
|
config HTTP_SERVER_CAPTURE_HEADER_BUFFER_SIZE
|
|
int "Size of buffer for capturing HTTP headers for application use"
|
|
default 128
|
|
range 32 2048
|
|
depends on HTTP_SERVER_CAPTURE_HEADERS
|
|
help
|
|
This setting determines the size of the (per-client) buffer used to store
|
|
HTTP headers for later use by the application.
|
|
|
|
config HTTP_SERVER_CAPTURE_HEADER_COUNT
|
|
int "Maximum number of HTTP headers to be captured for application use"
|
|
default 3
|
|
range 1 100
|
|
depends on HTTP_SERVER_CAPTURE_HEADERS
|
|
help
|
|
This setting determines the maximum number of HTTP headers it is possible
|
|
to capture for application use in a single HTTP request.
|
|
|
|
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.
|
|
|
|
config HTTP_SERVER_RESTART_DELAY
|
|
int "Delay before re-initialization when restarting server"
|
|
default 1000
|
|
range 1 60000
|
|
help
|
|
In case server restarts for any reason, the server re-initialization
|
|
will be delayed by this value (miliseconds). The delay is needed to
|
|
allow any existing connections to finalize to avoid binding errors
|
|
during initialization.
|
|
|
|
config HTTP_SERVER_TLS_USE_ALPN
|
|
bool "ALPN support for HTTPS server"
|
|
depends on NET_SOCKETS_SOCKOPT_TLS
|
|
depends on MBEDTLS_SSL_ALPN
|
|
help
|
|
Use ALPN (application layer protocol negotiation) to negotiate HTTP2
|
|
protocol for TLS connections. Web browsers use this mechanism to determine
|
|
whether HTTP2 is supported.
|
|
|
|
config WEBSOCKET_CONSOLE
|
|
bool
|
|
default y if HTTP_SERVER_WEBSOCKET && SHELL_BACKEND_WEBSOCKET
|
|
help
|
|
Hidden option that is enabled only when all the necessary options
|
|
needed by websocket console are set.
|
|
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"
|