1# Copyright (c) 2016 Intel Corporation 2# SPDX-License-Identifier: Apache-2.0 3 4config HTTP_PARSER 5 bool "HTTP Parser support" 6 select HTTP_PARSER_URL 7 help 8 This option enables the http_parser library from nodejs. 9 This parser requires some string-related routines commonly 10 provided by a libc implementation. 11 12config HTTP_PARSER_URL 13 bool "HTTP Parser for URL support" 14 help 15 This option enables the URI parser library based on source from nodejs. 16 This parser requires some string-related routines commonly 17 provided by a libc implementation. 18 19config HTTP_PARSER_STRICT 20 bool "HTTP strict parsing" 21 depends on (HTTP_PARSER || HTTP_PARSER_URL) 22 help 23 This option enables the strict parsing option 24 25config HTTP_CLIENT 26 bool "HTTP client API" 27 select HTTP_PARSER 28 select HTTP_PARSER_URL 29 help 30 HTTP client API 31 32config HTTP_SERVER 33 bool "HTTP Server [EXPERIMENTAL]" 34 select HTTP_PARSER 35 select HTTP_PARSER_URL 36 select EXPERIMENTAL 37 help 38 HTTP1 and HTTP2 server support. 39 40if HTTP_SERVER 41 42config HTTP_SERVER_STACK_SIZE 43 int "HTTP server thread stack size" 44 default 3072 45 help 46 HTTP server thread stack size for processing RX/TX events. 47 48config HTTP_SERVER_NUM_SERVICES 49 int "Number of HTTP Server Instances" 50 default 1 51 range 1 100 52 help 53 This setting determines the number of http services that the server supports. 54 55config HTTP_SERVER_MAX_CLIENTS 56 int "Max number of HTTP/2 clients" 57 default 3 58 range 1 100 59 help 60 This setting determines the maximum number of HTTP/2 clients that the server can handle at once. 61 62config HTTP_SERVER_MAX_STREAMS 63 int "Max number of HTTP/2 streams" 64 default 10 65 range 1 100 66 help 67 This setting determines the maximum number of HTTP/2 streams for each client. 68 69config HTTP_SERVER_CLIENT_BUFFER_SIZE 70 int "Client Buffer Size" 71 default 256 72 range 64 $(UINT32_MAX) 73 help 74 This setting determines the buffer size for each client. 75 76config HTTP_SERVER_HUFFMAN_DECODE_BUFFER_SIZE 77 int "Size of the buffer used for decoding Huffman-encoded strings" 78 default 256 79 range 64 $(UINT32_MAX) 80 help 81 Size of the buffer used for decoding Huffman-encoded strings when 82 processing HPACK compressed headers. This effectively limits the 83 maximum length of an individual HTTP header supported. 84 85config HTTP_SERVER_MAX_URL_LENGTH 86 int "Maximum HTTP URL Length" 87 default 256 88 range 32 2048 89 help 90 This setting determines the maximum length of the HTTP URL that the server can process. 91 92config HTTP_SERVER_MAX_CONTENT_TYPE_LENGTH 93 int "Maximum HTTP Content-Type Length" 94 default 64 95 range 1 128 96 help 97 This setting determines the maximum length of the HTTP Content-Length field. 98 99config HTTP_SERVER_CLIENT_INACTIVITY_TIMEOUT 100 int "Client inactivity timeout (seconds)" 101 default 10 102 range 1 86400 103 help 104 This timeout specifies maximum time the client may remain inactive 105 (i. e. not sending or receiving any data) before the server drops the 106 connection. 107 108config HTTP_SERVER_WEBSOCKET 109 bool "Allow upgrading to Websocket connection" 110 select WEBSOCKET_CLIENT 111 select WEBSOCKET 112 help 113 If this is enabled, then the user can allow the HTTP connection to be 114 upgraded to a Websocket connection. The user can then define a Websocket 115 handler that is called after upgrading to handle the Websocket network 116 traffic. 117 118config HTTP_SERVER_RESOURCE_WILDCARD 119 bool "Allow wildcard matching of resources" 120 select FNMATCH 121 help 122 Allow user to specify wildcards when setting up resource strings. 123 This means that instead of specifying multiple resources with exact 124 string matches, one resource handler could handle multiple URLs. 125 126config HTTP_SERVER_RESTART_DELAY 127 int "Delay before re-initialization when restarting server" 128 default 1000 129 range 1 60000 130 help 131 In case server restarts for any reason, the server re-initialization 132 will be delayed by this value (miliseconds). The delay is needed to 133 allow any existing connections to finalize to avoid binding errors 134 during initialization. 135 136endif 137 138# Hidden option to avoid having multiple individual options that are ORed together 139config HTTP 140 bool 141 depends on (HTTP_PARSER_URL || HTTP_PARSER || HTTP_CLIENT || HTTP_SERVER) 142 default y 143 144module = NET_HTTP 145module-dep = NET_LOG 146module-str = Log level for HTTP client library 147module-help = Enables HTTP client code to output debug messages. 148source "subsys/net/Kconfig.template.log_config.net" 149 150module = NET_HTTP_SERVER 151module-dep = NET_LOG 152module-str = Log level for HTTP server library 153module-help = Enables HTTP server code to output debug messages. 154source "subsys/net/Kconfig.template.log_config.net" 155