Swatantra-66 opened a new pull request, #20472:
URL: https://github.com/apache/nuttx/pull/20472

   ## Summary
   
   This PR replaces the 7-line placeholder stub in 
`Documentation/applications/netutils/webclient/index.rst` with a comprehensive, 
production-grade reference and guide for the `webclient` HTTP client utility 
and library.
   
   Addresses #11081
   
   ### Key Additions:
   - **Architecture Overview**: Documents `webclient`'s dual role as both the 
interactive NSH `wget` shell command engine and a standalone programmatic C API.
   - **Core Capabilities**: Covers HTTP/1.0 and HTTP/1.1 compliance, chunked 
transfer decoding, streaming sink callback model, pluggable TLS/HTTPS engine 
(`struct webclient_tls_ops`), proxy tunneling, and notes the 
synchronous/blocking nature of DNS resolution under 
`WEBCLIENT_FLAG_NON_BLOCKING`.
   - **Kconfig Options & Dependencies**: Details configuration prerequisites 
(`CONFIG_NET_TCP`, `CONFIG_NETDB_DNSCLIENT`, etc.) and all tuneable options 
(`CONFIG_WEBCLIENT_TIMEOUT`, `CONFIG_WEBCLIENT_MAXHTTPLINE`, etc.).
   - **NSH `wget` CLI Guide**: Documents exact synopsis, options (`-o 
<local-path>`), and practical shell examples.
   - **C API Reference**: Documents convenience functions (`wget()`, 
`wget_post()`) and the full context-based API (`struct webclient_context`, 
`webclient_perform()`).
   - **Production C Application Example**: Provides a runnable embedded 
file-download helper implementing robust short-write loops, `EINTR` retry 
handling, and `close()` filesystem sync error propagation.
   
   ## Impact
   
   - **Documentation**: Fills one of the unwritten documentation pages 
identified in #11081.
   - **User Experience**: Fixes command-line option discrepancies (`-o` instead 
of `-f`) and provides clear, secure patterns for embedded file transfers.
   - **Code/Build**: Documentation-only change. No functional code or ABI 
alterations.
   
   ## Testing
   
   - Validated Sphinx reStructuredText formatting and header underline lengths.
   - Verified NSH CLI flags against `apps/nshlib/nsh_command.c` and 
`nsh_netcmds.c`.
   - Verified C API definitions and callback signatures against 
`apps/include/netutils/webclient.h`.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to