Skip to content

Commit

Permalink
SUMMARY: major reorg
Browse files Browse the repository at this point in the history
I want to make the different sections and what is put where more
obvious.

The command line sections are now:

 - Command line concepts
 - Command line transfers
 - Command line HTTP
 - Command line FTP

Named like this to stress command line. The first describes concepts,
the second how to run and control transfers in general while the two
latter ones speak of specific options and things unique for HTTP and
FTP.

The libcurl sections gets a similar shakedown, and the new layout works
as per below:

 - libcurl: for top-level description of library concepts
 - libcurl transfers: use the API to drive and control transfers
 - libcurl HTTP: details specific to HTP transfers
 - libcurl helpers: non-transfer focused APIs described (URL API, share
   API, WebSocket etc)
 - libcurl examples: stand-alone small applications showing off libcurl use
 - libcurl bindings: the bindings
 - libcurl internals: the internals

Additionally:

All subdirectories now has a README.md which is the leading text for
search sub-section. This moves the first text into their own subdirs,
for easier management and this also allows for better/easier browsing
the content directly off filesystems and directly on GitHub.
  • Loading branch information
bagder committed Jan 15, 2024
1 parent 6ec7e13 commit d16a3ee
Show file tree
Hide file tree
Showing 142 changed files with 628 additions and 520 deletions.
217 changes: 109 additions & 108 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

* [Introduction](README.md)
* [How to read this book](how-to-read.md)
* [The cURL project](project.md)
* [The cURL project](project/README.md)
* [How it started](project/started.md)
* [The name](project/name.md)
* [What does curl do?](project/does.md)
Expand All @@ -19,19 +19,20 @@
* [The development team](project/devteam.md)
* [Users of curl](project/users.md)
* [Future](project/future.md)
* [Network and protocols](protocols.md)
* [Network and protocols](protocols/README.md)
* [Networking simplified](protocols/network.md)
* [Protocols](protocols/protocols.md)
* [curl protocols](protocols/curl.md)
* [Install curl](get.md)
* [Linux](get/linux.md)
* [Windows](get/windows.md)
* [MSYS2](get/win-msys2.md)
* [vcpkg](get/win-vcpkg.md)
* [macOS](get/macos.md)
* [Container](get/container.md)
* [Source code](source.md)
* [Open Source](source/opensource.md)
* [HTTP basics](protocols/http.md)
* [Install curl and libcurl](install/README.md)
* [Linux](install/linux.md)
* [Windows](install/windows.md)
* [MSYS2](install/win-msys2.md)
* [vcpkg](install/win-vcpkg.md)
* [macOS](install/macos.md)
* [Container](install/container.md)
* [Source code](source/README.md)
* [Open Source](source/opensource/README.md)
* [License](source/opensource/license.md)
* [Copyright](source/opensource/copyright.md)
* [Code layout](source/layout.md)
Expand All @@ -40,19 +41,19 @@
* [Contributing](source/contributing.md)
* [Reporting vulnerabilities](source/reportvuln.md)
* [Website](source/web.md)
* [Build curl](build.md)
* [Build curl and libcurl](build/README.md)
* [Autotools](build/autotools.md)
* [CMake](build/cmake.md)
* [Separate install](build/separate.md)
* [Windows](build/windows.md)
* [Dependencies](build/deps.md)
* [TLS libraries](build/tls.md)
* [BoringSSL](build/boringssl.md)
* [Command line basics](cmdline.md)
* [Command line concepts](cmdline/README.md)
* [Differences](cmdline/differences.md)
* [Command line options](cmdline/options.md)
* [Options depend on version](cmdline/versions.md)
* [URLs](cmdline/urls.md)
* [URLs](cmdline/urls/README.md)
* [Scheme](cmdline/urls/scheme.md)
* [Name and password](cmdline/urls/auth.md)
* [Host](cmdline/urls/host.md)
Expand All @@ -72,13 +73,15 @@
* [Variables](cmdline/variables.md)
* [Passwords](cmdline/passwords.md)
* [Progress meter](cmdline/progressmeter.md)
* [Using curl](usingcurl.md)
* [Verbose](usingcurl/verbose.md)
* [Version](cmdline/curlver.md)
* [Persistent connections](cmdline/persist.md)
* [Exit code](cmdline/exitcode.md)
* [Copy as curl](cmdline/copyas.md)
* [Command line transfers](usingcurl/README.md)
* [Verbose](usingcurl/verbose/README.md)
* [Trace options](usingcurl/verbose/trace.md)
* [Write out](usingcurl/verbose/writeout.md)
* [Version](usingcurl/version.md)
* [Persistent connections](usingcurl/persist.md)
* [Downloads](usingcurl/downloads.md)
* [Downloads](usingcurl/downloads/README.md)
* [What exactly is downloading?](usingcurl/downloads/whatis.md)
* [Storing downloads](usingcurl/downloads/storing.md)
* [Download to a file named by the URL](usingcurl/downloads/url-named.md)
Expand All @@ -94,19 +97,19 @@
* [Retry](usingcurl/downloads/retry.md)
* [Resuming and ranges](usingcurl/downloads/resume.md)
* [Uploads](usingcurl/uploads.md)
* [Transfer controls](usingcurl/transfers.md)
* [Transfer controls](usingcurl/transfers/README.md)
* [Stop slow transfers](usingcurl/transfers/tooslow.md)
* [Rate limiting](usingcurl/transfers/rate-limiting.md)
* [Request rate limiting](usingcurl/transfers/request-rate.md)
* [Connections](usingcurl/connections.md)
* [Connections](usingcurl/connections/README.md)
* [Name resolve tricks](usingcurl/connections/name.md)
* [Connection timeout](usingcurl/connections/timeout.md)
* [Network interface](usingcurl/connections/interface.md)
* [Local port number](usingcurl/connections/local-port.md)
* [Keep alive](usingcurl/connections/keepalive.md)
* [Timeouts](usingcurl/timeouts.md)
* [.netrc](usingcurl/netrc.md)
* [Proxies](usingcurl/proxies.md)
* [Proxies](usingcurl/proxies/README.md)
* [Discover your proxy](usingcurl/proxies/discover.md)
* [PAC](usingcurl/proxies/pac.md)
* [Captive portals](usingcurl/proxies/captive.md)
Expand All @@ -119,7 +122,6 @@
* [Proxy environment variables](usingcurl/proxies/env.md)
* [Proxy headers](usingcurl/proxies/headers.md)
* [haproxy](usingcurl/proxies/haproxy.md)
* [Exit status](usingcurl/returns.md)
* [TLS](usingcurl/tls.md)
* [Ciphers](usingcurl/tls/ciphers.md)
* [Enable TLS](usingcurl/tls/enable.md)
Expand All @@ -139,20 +141,18 @@
* [MQTT](usingcurl/mqtt.md)
* [TELNET](usingcurl/telnet.md)
* [TFTP](usingcurl/tftp.md)
* [Copy as curl](usingcurl/copyas.md)
* [HTTP with curl](http.md)
* [Protocol basics](http/basics.md)
* [Command line HTTP](http/README.md)
* [Method](http/method.md)
* [Responses](http/response.md)
* [Authentication](http/auth.md)
* [Ranges](http/ranges.md)
* [HTTP versions](http/versions.md)
* [HTTP versions](http/versions/README.md)
* [HTTP/0.9](http/versions/http09.md)
* [HTTP/2](http/versions/http2.md)
* [HTTP/3](http/versions/http3.md)
* [Conditionals](http/conditionals.md)
* [HTTPS](http/https.md)
* [HTTP POST](http/post.md)
* [HTTP POST](http/post/README.md)
* [Simple POST](http/post/simple.md)
* [Content-Type](http/post/content-type.md)
* [Posting binary](http/post/binary.md)
Expand All @@ -167,123 +167,124 @@
* [Multipart formposts](http/post/multipart.md)
* [-d vs -F](http/post/postvspost.md)
* [Redirects](http/redirects.md)
* [Modify the HTTP request](http/requests.md)
* [Modify the HTTP request](http/modify/README.md)
* [Request method](http/modify/method.md)
* [Request target](http/modify/target.md)
* [Fragment](http/modify/fragment.md)
* [Customize headers](http/modify/headers.md)
* [Referer](http/modify/referer.md)
* [User-agent](http/modify/user-agent.md)
* [HTTP PUT](http/put.md)
* [Cookies](http/cookies.md)
* [Cookies](http/cookies/README.md)
* [Cookie file format](http/cookies/fileformat.md)
* [Alternative Services](http/altsvc.md)
* [HSTS](http/hsts.md)
* [HTTP cheat sheet](http/cheatsheet.md)
* [Scripting browser-like tasks](http/browserlike.md)
* [FTP with curl](ftp.md)
* [Command line FTP](ftp/README.md)
* [FTP Directory listing](ftp/dirlist.md)
* [Uploading with FTP](ftp/upload.md)
* [Custom FTP commands](ftp/cmds.md)
* [Two connections](ftp/twoconnections.md)
* [Directory traversing](ftp/traversedir.md)
* [FTPS](ftp/ftps.md)
* [Using libcurl](libcurl.md)
* [libcurl](libcurl/README.md)
* [Header files](libcurl/headers.md)
* [Global initialization](libcurl/globalinit.md)
* [Easy handle](libcurl/easyhandle.md)
* [curl easy options](libcurl/options.md)
* [Set numerical options](libcurl/options/num.md)
* [Set string options](libcurl/options/strings.md)
* [TLS options](libcurl/options/tls.md)
* [All options](libcurl/options/all.md)
* [Get option information](libcurl/options/info.md)
* [Drive transfers](libcurl/drive.md)
* [Drive with easy](libcurl/drive/easy.md)
* [Drive with multi](libcurl/drive/multi.md)
* [Drive with multi\_socket](libcurl/drive/multi-socket.md)
* [Callbacks](libcurl/callbacks.md)
* [Write data](libcurl/callbacks/write.md)
* [Read data](libcurl/callbacks/read.md)
* [Progress information](libcurl/callbacks/progress.md)
* [Header data](libcurl/callbacks/header.md)
* [Debug](libcurl/callbacks/debug.md)
* [sockopt](libcurl/callbacks/sockopt.md)
* [SSL context](libcurl/callbacks/sslcontext.md)
* [Seek and ioctl](libcurl/callbacks/seek.md)
* [Network data conversion](libcurl/callbacks/conversions.md)
* [Opensocket and closesocket](libcurl/callbacks/openclosesocket.md)
* [SSH key](libcurl/callbacks/sshkey.md)
* [RTSP interleaved data](libcurl/callbacks/rtsp.md)
* [FTP wildcard matching](libcurl/callbacks/ftpmatch.md)
* [Resolver start](libcurl/callbacks/resolver.md)
* [Sending trailers](libcurl/callbacks/trailers.md)
* [HSTS](libcurl/callbacks/hsts.md)
* [Prereq](libcurl/callbacks/prereq.md)
* [Connection control](libcurl/conn.md)
* [How libcurl connects](libcurl/conn/how.md)
* [Connection reuse](libcurl/conn/reuse.md)
* [Name resolving](libcurl/conn/names.md)
* [Proxies](libcurl/conn/proxies.md)
* [Transfer control](libcurl/control.md)
* [Stop](libcurl/control/stop.md)
* [Stop slow transfers](libcurl/control/stopslow.md)
* [Rate limit](libcurl/control/ratelimit.md)
* [Progress meter](libcurl/control/meter.md)
* [Progress callback](libcurl/control/progress-callback.md)
* [Cleanup](libcurl/cleanup.md)
* [Post transfer info](libcurl/getinfo.md)
* [Share data between handles](libcurl/sharing.md)
* [URL API](libcurl/url.md)
* [Include files](libcurl/url/include.md)
* [Create, cleanup, duplicate](libcurl/url/init.md)
* [Parse a URL](libcurl/url/parse.md)
* [Redirect to a relative URL](libcurl/url/redirect.md)
* [Get a URL](libcurl/url/get.md)
* [Get individual URL parts](libcurl/url/get-part.md)
* [Set individual URL parts](libcurl/url/set-part.md)
* [Append to the query](libcurl/url/append-query.md)
* [CURLOPT\_CURLU](libcurl/url/setopt.md)
* [WebSocket](libcurl/ws.md)
* [Support](libcurl/ws/support.md)
* [URLs](libcurl/ws/urls.md)
* [Concept](libcurl/ws/concept.md)
* [Options](libcurl/ws/options.md)
* [Read](libcurl/ws/read.md)
* [Meta](libcurl/ws/meta.md)
* [Write](libcurl/ws/write.md)
* [API compatibility](libcurl/api.md)
* [--libcurl](libcurl/--libcurl.md)
* [multi-threading](libcurl/threading.md)
* [CURLcode return codes](libcurl/curlcode.md)
* [Verbose operations](libcurl/verbose.md)
* [Caches](libcurl/caches.md)
* [Performance](libcurl/performance.md)
* [libcurl examples](libcurl/examples.md)
* [Get a simple HTTP page](libcurl/examples/get.md)
* [Get a response into memory](libcurl/examples/getinmem.md)
* [Submit a login form over HTTP](libcurl/examples/login.md)
* [Get an FTP directory listing](libcurl/examples/ftplist.md)
* [Non-blocking HTTP form-post](libcurl/examples/http-ul-nonblock.md)
* [for C++ programmers](libcurl/cplusplus.md)
* [HTTP with libcurl](libcurl-http.md)
* [libcurl transfers](transfers/README.md)
* [Easy handle](transfers/easyhandle.md)
* [curl easy options](transfers/options/README.md)
* [Set numerical options](transfers/options/num.md)
* [Set string options](transfers/options/strings.md)
* [TLS options](transfers/options/tls.md)
* [All options](transfers/options/all.md)
* [Get option information](transfers/options/info.md)
* [Drive transfers](transfers/drive/README.md)
* [Drive with easy](transfers/drive/easy.md)
* [Drive with multi](transfers/drive/multi.md)
* [Drive with multi\_socket](transfers/drive/multi-socket.md)
* [Callbacks](transfers/callbacks/README.md)
* [Write data](transfers/callbacks/write.md)
* [Read data](transfers/callbacks/read.md)
* [Progress information](transfers/callbacks/progress.md)
* [Header data](transfers/callbacks/header.md)
* [Debug](transfers/callbacks/debug.md)
* [sockopt](transfers/callbacks/sockopt.md)
* [SSL context](transfers/callbacks/sslcontext.md)
* [Seek and ioctl](transfers/callbacks/seek.md)
* [Network data conversion](transfers/callbacks/conversions.md)
* [Opensocket and closesocket](transfers/callbacks/openclosesocket.md)
* [SSH key](transfers/callbacks/sshkey.md)
* [RTSP interleaved data](transfers/callbacks/rtsp.md)
* [FTP wildcard matching](transfers/callbacks/ftpmatch.md)
* [Resolver start](transfers/callbacks/resolver.md)
* [Sending trailers](transfers/callbacks/trailers.md)
* [HSTS](transfers/callbacks/hsts.md)
* [Prereq](transfers/callbacks/prereq.md)
* [Connection control](transfers/conn/README.md)
* [How libcurl connects](transfers/conn/how.md)
* [Connection reuse](transfers/conn/reuse.md)
* [Name resolving](transfers/conn/names.md)
* [Proxies](transfers/conn/proxies.md)
* [Transfer control](transfers/control/README.md)
* [Stop](transfers/control/stop.md)
* [Stop slow transfers](transfers/control/stopslow.md)
* [Rate limit](transfers/control/ratelimit.md)
* [Progress meter](transfers/control/meter.md)
* [Progress callback](transfers/control/progress-callback.md)
* [Cleanup](transfers/cleanup.md)
* [Post transfer info](transfers/getinfo.md)
* [libcurl HTTP](libcurl-http/README.md)
* [Responses](libcurl-http/responses.md)
* [Requests](libcurl-http/requests.md)
* [Versions](libcurl-http/versions.md)
* [Ranges](libcurl-http/ranges.md)
* [Authentication](libcurl-http/auth.md)
* [Headers API](libcurl-http/headerapi.md)
* [Header struct](libcurl-http/headerapi/struct.md)
* [Get a header](libcurl-http/headerapi/get.md)
* [Iterate over headers](libcurl-http/headerapi/iterate.md)
* [Cookies](libcurl-http/cookies.md)
* [Download](libcurl-http/download.md)
* [Upload](libcurl-http/upload.md)
* [Multiplexing](libcurl-http/multiplexing.md)
* [HSTS](libcurl-http/hsts.md)
* [alt-svc](libcurl-http/alt-svc.md)
* [Bindings](bindings.md)
* [libcurl internals](internals.md)
* [libcurl helpers](helpers/README.md)
* [Share data between handles](helpers/sharing.md)
* [URL API](helpers/url/README.md)
* [Include files](helpers/url/include.md)
* [Create, cleanup, duplicate](helpers/url/init.md)
* [Parse a URL](helpers/url/parse.md)
* [Redirect to URL](helpers/url/redirect.md)
* [Get a URL](helpers/url/get.md)
* [Get URL parts](helpers/url/get-part.md)
* [Set URL parts](helpers/url/set-part.md)
* [Append to the query](helpers/url/append-query.md)
* [CURLOPT\_CURLU](helpers/url/setopt.md)
* [WebSocket](helpers/ws/README.md)
* [Support](helpers/ws/support.md)
* [URLs](helpers/ws/urls.md)
* [Concept](helpers/ws/concept.md)
* [Options](helpers/ws/options.md)
* [Read](helpers/ws/read.md)
* [Meta](helpers/ws/meta.md)
* [Write](helpers/ws/write.md)
* [Headers API](helpers/headerapi/README.md)
* [Header struct](helpers/headerapi/struct.md)
* [Get a header](helpers/headerapi/get.md)
* [Iterate over headers](helpers/headerapi/iterate.md)
* [libcurl examples](examples/README.md)
* [Get a simple HTTP page](examples/get.md)
* [Get a response into memory](examples/getinmem.md)
* [Submit a login form over HTTP](examples/login.md)
* [Get an FTP directory listing](examples/ftplist.md)
* [Non-blocking HTTP form-post](examples/http-ul-nonblock.md)
* [libcurl bindings](bindings/README.md)
* [libcurl internals](internals/README.md)
* [Easy handles and connections](internals/easy.md)
* [Everything is multi](internals/multi.md)
* [State machines](internals/statemachines.md)
Expand All @@ -296,7 +297,7 @@
* [Content Encoding](internals/content-encoding.md)
* [Structs](internals/structs.md)
* [Resolving host names](internals/resolving.md)
* [Tests](internals/tests.md)
* [Tests](internals/tests/README.md)
* [Test file format](internals/tests/file-format.md)
* [Build tests](internals/tests/build.md)
* [Run tests](internals/tests/run.md)
Expand Down
2 changes: 1 addition & 1 deletion bindings.md → bindings/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Bindings
# libcurl bindings

Creative people have written bindings or interfaces for various environments
and programming languages. Using one of these allows you to take advantage of
Expand Down
Loading

0 comments on commit d16a3ee

Please sign in to comment.