zephyr/subsys/net/lib/http/Kconfig
Chris Friedt 79d4107beb net: http: define http service and resource iterable sections
Provide a means of declaring zero or more HTTP services, each
with zero or more static HTTP resources.

Static HTTP resources are those which have fixed paths[1] which
are known prior to system initialization. Some examples of
static http resources would be

* a forwarder from '/' to '/index.html'
* a REST endpoint with fixed path '/api/foo' and detail
  pointing at some implementation-specific function
* a Javascript file in string form with fixed path '/js/util.js'
* a 'construction' image with path '/res/work.png'
* a gzip-compressed 'Hello' HTML file at '/hello.html'

Without describing in any detail how static HTTP resources are
organized or served by any given HTTP server, we can describe
what static resources exist on a system in a common way that
does not require any optional facilities (e.g. filesystem) and
relies only on addressable memory.

Additionally, for the purposes of simply allowing others
to implement custom HTTP servers in a consistent way, or
benchmarking implementations, or having a consistent testsuite
to use across multiple implementations, it is helpful to have
a common method to declare HTTP services and static resources
for Zephyr.

[1] https://en.wikipedia.org/wiki/URL

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-03-08 13:57:13 +00:00

45 lines
1.2 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 [EXPERIMENTAL]"
select HTTP_PARSER
select HTTP_PARSER_URL
select EXPERIMENTAL
help
HTTP client API
config HTTP_SERVER
bool "HTTP Server [EXPERIMENTAL]"
select WARN_EXPERIMENTAL
help
HTTP server support.
Note: this is a work-in-progress
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"