Commit Graph

18 Commits

Author SHA1 Message Date
Jukka Rissanen
9cb3490762 samples: net: http_server: Add information about overlays
Enhance documentation and add overlay information to readme file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-09-13 11:34:40 -05:00
Jukka Rissanen
654a93fa03 samples: net: http_server: Add netusb support
Add overlay file for netusb configuration, and usb network
initialization to the code.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-09-11 07:40:22 -04:00
Jukka Rissanen
5e7d730274 samples: net: http_server: Create service binding to all addresses
Allow user to listen all IP addresses instead of hard coded one.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-09-06 09:58:50 -05:00
Florian Grandel
0e6769719c samples: net: http_client/server: add IEEE 802.15.4 support
Adds overlays to support HTTP over IEEE 802.15.4 (including SubG for a
sample SoC).

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2024-08-26 17:06:37 +02:00
Florian Grandel
adbbf05b19 samples: net: http_client/server: add logging boilerplate
Added some additional useful logging configuration for convenience
(default: off).

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2024-08-26 17:06:37 +02:00
Matt Rodgers
3e7d9b55a4 samples: net: http_server: sent net stats to client via websocket
Added a websocket connection sending network statistics to a client, to
demonstrate how this can be used to push data to the client as an
alternative to GET requests triggered by a Javascript timer.

Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
2024-08-12 19:25:05 -04:00
Matt Rodgers
24b4ccbc92 samples: net: http_server: use JSON payload for dynamic POST
Accept JSON payload including LED number and state, to demonstrate JSON
parsing and allow control of multiple LEDs if the board supports this.

Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
2024-08-12 19:25:05 -04:00
Matt Rodgers
8a8f2814cd samples: net: http_server: demonstrate dynamic GET and POST
Previously the dynamic resource in the http_server sample simply echo'd
the received data back to the sender. This doesn't demonstrate how the
dynamic handlers would be used in a more typical use case, where the
application may need to wait for the full request before acting on it or
creating a response.

Therefore two new dynamic resources have bee added: a '/led' resource
which can be used to control the board's LED (if present) via a POST
request, and a '/uptime' resource which can be used to query the kernel
uptime via a GET request.

The static resources are updated with some javascript to support
demonstrating the new dynamic resouces via a web browser.

Signed-off-by: Matt Rodgers <mrodgers@witekio.com>
2024-08-12 19:25:05 -04:00
Benjamin Cabé
f6d0383a97 samples: net: http_server: use proper language in code-block
Achieve proper syntax highlighting using "console"
language when command snippets start with a prompt.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-20 14:07:32 -04:00
Robert Lubos
0163ae5332 samples: net: sockets: http_server: Disable PSA crypto
The sample won't build with PSA crypto enabled on non-secure platform,
causing disturbances in the CI.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-06-07 16:45:05 +03:00
Robert Lubos
c26f1bef49 samples: net: sockets: Add netif dependency where missing
A few samples were not limiting the CI execution scope in any reasonable
way, they should at least limit the execution to platforms that support
netif capability.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-06-07 16:45:05 +03:00
Chris Friedt
bc4374b5fe posix: deprecate POSIX_MAX_FDS and add POSIX_DEVICE_IO
The POSIX_MAX_FDS option does not correspond to any standard
POSIX option. It was used to define the size of the file
descriptor table, which is by no means exclusively used by
POSIX (also net, fs, ...).

POSIX_MAX_FDS is being deprecated in order to ensure that
Zephyr's POSIX Kconfig variables correspond to those defined in
the specification, as of IEEE 1003.1-2017. Namely,
POSIX_OPEN_MAX. CONFIG_POSIX_MAX_OPEN_FILES is being deprecated
for the same reason.

To mitigate any possible layering violations, that option is
not user selectable. It tracks the newly added
CONFIG_ZVFS_OPEN_MAX option, which is native to Zephyr.

With this deprecation, we introduce the following Kconfig
options that map directly to standard POSIX Option Groups by
simply removing "CONFIG_":

* CONFIG_POSIX_DEVICE_IO

Similarly, with this deprecation, we introduce the following
Kconfig options that map directly to standard POSIX Options by
simply removing "CONFIG":

* CONFIG_POSIX_OPEN_MAX

In order to maintain parity with the current feature set, we
introduce the following Kconfig options.

* CONFIG_POSIX_DEVICE_IO_ALIAS_CLOSE
* CONFIG_POSIX_DEVICE_IO_ALIAS_OPEN
* CONFIG_POSIX_DEVICE_IO_ALIAS_READ
* CONFIG_POSIX_DEVICE_IO_ALIAS_WRITE

Gate open(), close(), read(), and write() via the
CONFIG_POSIX_DEVICE_IO Kconfig option and move
implementations into device_io.c, to be conformant with the
spec.

Lastly, stage function names for upcoming ZVFS work, to be
completed as part of the LTSv3 Roadmap (e.g. zvfs_open(), ..).

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-06-04 16:27:12 -05:00
Benjamin Cabé
bdfb6afe70 samples: net: http_server: add link to HTTP Server doc page
Improve navigability in the documentation by adding a link to the main
HTTP Server documentation page to the HTTP Server sample.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-05-17 14:38:15 -05:00
Jukka Rissanen
aad76a9416 samples: net: http_server: Add example of passing Content-Type field
Show how to pass Content-Type header field to client.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-05-14 20:22:58 -04:00
Jukka Rissanen
fb1ec14938 samples: net: http_server: Close websocket connection properly
Use the websocket_unregister() to close both sockets related
to a connected websocket.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-05-14 09:31:37 +02:00
Robert Lubos
7b55805a3e doc: net: Add HTTP server documentation
Add documentation page for HTTP server functionality.
Rename existing HTTP documentation to HTTP client, as it only covers the
client library.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-05-10 14:43:38 -05:00
Jukka Rissanen
c9aac6efeb samples: net: http_server: Add websocket support
Add code for creating a websocket support to the http_server.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-05-08 15:02:16 -05:00
Jukka Rissanen
660149dbf7 samples: net: http_server: Add HTTP server sample application
A simple HTTP server sample application.

Signed-off-by: Emna Rekik <emna.rekik007@gmail.com>
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-04-30 13:25:22 +02:00