Skip to content

Commit d16a3ee

Browse files
committed
SUMMARY: major reorg
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.
1 parent 6ec7e13 commit d16a3ee

File tree

142 files changed

+628
-520
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+628
-520
lines changed

SUMMARY.md

+109-108
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
* [Introduction](README.md)
44
* [How to read this book](how-to-read.md)
5-
* [The cURL project](project.md)
5+
* [The cURL project](project/README.md)
66
* [How it started](project/started.md)
77
* [The name](project/name.md)
88
* [What does curl do?](project/does.md)
@@ -19,19 +19,20 @@
1919
* [The development team](project/devteam.md)
2020
* [Users of curl](project/users.md)
2121
* [Future](project/future.md)
22-
* [Network and protocols](protocols.md)
22+
* [Network and protocols](protocols/README.md)
2323
* [Networking simplified](protocols/network.md)
2424
* [Protocols](protocols/protocols.md)
2525
* [curl protocols](protocols/curl.md)
26-
* [Install curl](get.md)
27-
* [Linux](get/linux.md)
28-
* [Windows](get/windows.md)
29-
* [MSYS2](get/win-msys2.md)
30-
* [vcpkg](get/win-vcpkg.md)
31-
* [macOS](get/macos.md)
32-
* [Container](get/container.md)
33-
* [Source code](source.md)
34-
* [Open Source](source/opensource.md)
26+
* [HTTP basics](protocols/http.md)
27+
* [Install curl and libcurl](install/README.md)
28+
* [Linux](install/linux.md)
29+
* [Windows](install/windows.md)
30+
* [MSYS2](install/win-msys2.md)
31+
* [vcpkg](install/win-vcpkg.md)
32+
* [macOS](install/macos.md)
33+
* [Container](install/container.md)
34+
* [Source code](source/README.md)
35+
* [Open Source](source/opensource/README.md)
3536
* [License](source/opensource/license.md)
3637
* [Copyright](source/opensource/copyright.md)
3738
* [Code layout](source/layout.md)
@@ -40,19 +41,19 @@
4041
* [Contributing](source/contributing.md)
4142
* [Reporting vulnerabilities](source/reportvuln.md)
4243
* [Website](source/web.md)
43-
* [Build curl](build.md)
44+
* [Build curl and libcurl](build/README.md)
4445
* [Autotools](build/autotools.md)
4546
* [CMake](build/cmake.md)
4647
* [Separate install](build/separate.md)
4748
* [Windows](build/windows.md)
4849
* [Dependencies](build/deps.md)
4950
* [TLS libraries](build/tls.md)
5051
* [BoringSSL](build/boringssl.md)
51-
* [Command line basics](cmdline.md)
52+
* [Command line concepts](cmdline/README.md)
5253
* [Differences](cmdline/differences.md)
5354
* [Command line options](cmdline/options.md)
5455
* [Options depend on version](cmdline/versions.md)
55-
* [URLs](cmdline/urls.md)
56+
* [URLs](cmdline/urls/README.md)
5657
* [Scheme](cmdline/urls/scheme.md)
5758
* [Name and password](cmdline/urls/auth.md)
5859
* [Host](cmdline/urls/host.md)
@@ -72,13 +73,15 @@
7273
* [Variables](cmdline/variables.md)
7374
* [Passwords](cmdline/passwords.md)
7475
* [Progress meter](cmdline/progressmeter.md)
75-
* [Using curl](usingcurl.md)
76-
* [Verbose](usingcurl/verbose.md)
76+
* [Version](cmdline/curlver.md)
77+
* [Persistent connections](cmdline/persist.md)
78+
* [Exit code](cmdline/exitcode.md)
79+
* [Copy as curl](cmdline/copyas.md)
80+
* [Command line transfers](usingcurl/README.md)
81+
* [Verbose](usingcurl/verbose/README.md)
7782
* [Trace options](usingcurl/verbose/trace.md)
7883
* [Write out](usingcurl/verbose/writeout.md)
79-
* [Version](usingcurl/version.md)
80-
* [Persistent connections](usingcurl/persist.md)
81-
* [Downloads](usingcurl/downloads.md)
84+
* [Downloads](usingcurl/downloads/README.md)
8285
* [What exactly is downloading?](usingcurl/downloads/whatis.md)
8386
* [Storing downloads](usingcurl/downloads/storing.md)
8487
* [Download to a file named by the URL](usingcurl/downloads/url-named.md)
@@ -94,19 +97,19 @@
9497
* [Retry](usingcurl/downloads/retry.md)
9598
* [Resuming and ranges](usingcurl/downloads/resume.md)
9699
* [Uploads](usingcurl/uploads.md)
97-
* [Transfer controls](usingcurl/transfers.md)
100+
* [Transfer controls](usingcurl/transfers/README.md)
98101
* [Stop slow transfers](usingcurl/transfers/tooslow.md)
99102
* [Rate limiting](usingcurl/transfers/rate-limiting.md)
100103
* [Request rate limiting](usingcurl/transfers/request-rate.md)
101-
* [Connections](usingcurl/connections.md)
104+
* [Connections](usingcurl/connections/README.md)
102105
* [Name resolve tricks](usingcurl/connections/name.md)
103106
* [Connection timeout](usingcurl/connections/timeout.md)
104107
* [Network interface](usingcurl/connections/interface.md)
105108
* [Local port number](usingcurl/connections/local-port.md)
106109
* [Keep alive](usingcurl/connections/keepalive.md)
107110
* [Timeouts](usingcurl/timeouts.md)
108111
* [.netrc](usingcurl/netrc.md)
109-
* [Proxies](usingcurl/proxies.md)
112+
* [Proxies](usingcurl/proxies/README.md)
110113
* [Discover your proxy](usingcurl/proxies/discover.md)
111114
* [PAC](usingcurl/proxies/pac.md)
112115
* [Captive portals](usingcurl/proxies/captive.md)
@@ -119,7 +122,6 @@
119122
* [Proxy environment variables](usingcurl/proxies/env.md)
120123
* [Proxy headers](usingcurl/proxies/headers.md)
121124
* [haproxy](usingcurl/proxies/haproxy.md)
122-
* [Exit status](usingcurl/returns.md)
123125
* [TLS](usingcurl/tls.md)
124126
* [Ciphers](usingcurl/tls/ciphers.md)
125127
* [Enable TLS](usingcurl/tls/enable.md)
@@ -139,20 +141,18 @@
139141
* [MQTT](usingcurl/mqtt.md)
140142
* [TELNET](usingcurl/telnet.md)
141143
* [TFTP](usingcurl/tftp.md)
142-
* [Copy as curl](usingcurl/copyas.md)
143-
* [HTTP with curl](http.md)
144-
* [Protocol basics](http/basics.md)
144+
* [Command line HTTP](http/README.md)
145145
* [Method](http/method.md)
146146
* [Responses](http/response.md)
147147
* [Authentication](http/auth.md)
148148
* [Ranges](http/ranges.md)
149-
* [HTTP versions](http/versions.md)
149+
* [HTTP versions](http/versions/README.md)
150150
* [HTTP/0.9](http/versions/http09.md)
151151
* [HTTP/2](http/versions/http2.md)
152152
* [HTTP/3](http/versions/http3.md)
153153
* [Conditionals](http/conditionals.md)
154154
* [HTTPS](http/https.md)
155-
* [HTTP POST](http/post.md)
155+
* [HTTP POST](http/post/README.md)
156156
* [Simple POST](http/post/simple.md)
157157
* [Content-Type](http/post/content-type.md)
158158
* [Posting binary](http/post/binary.md)
@@ -167,123 +167,124 @@
167167
* [Multipart formposts](http/post/multipart.md)
168168
* [-d vs -F](http/post/postvspost.md)
169169
* [Redirects](http/redirects.md)
170-
* [Modify the HTTP request](http/requests.md)
170+
* [Modify the HTTP request](http/modify/README.md)
171171
* [Request method](http/modify/method.md)
172172
* [Request target](http/modify/target.md)
173173
* [Fragment](http/modify/fragment.md)
174174
* [Customize headers](http/modify/headers.md)
175175
* [Referer](http/modify/referer.md)
176176
* [User-agent](http/modify/user-agent.md)
177177
* [HTTP PUT](http/put.md)
178-
* [Cookies](http/cookies.md)
178+
* [Cookies](http/cookies/README.md)
179179
* [Cookie file format](http/cookies/fileformat.md)
180180
* [Alternative Services](http/altsvc.md)
181181
* [HSTS](http/hsts.md)
182-
* [HTTP cheat sheet](http/cheatsheet.md)
183182
* [Scripting browser-like tasks](http/browserlike.md)
184-
* [FTP with curl](ftp.md)
183+
* [Command line FTP](ftp/README.md)
185184
* [FTP Directory listing](ftp/dirlist.md)
186185
* [Uploading with FTP](ftp/upload.md)
187186
* [Custom FTP commands](ftp/cmds.md)
188187
* [Two connections](ftp/twoconnections.md)
189188
* [Directory traversing](ftp/traversedir.md)
190189
* [FTPS](ftp/ftps.md)
191-
* [Using libcurl](libcurl.md)
190+
* [libcurl](libcurl/README.md)
192191
* [Header files](libcurl/headers.md)
193192
* [Global initialization](libcurl/globalinit.md)
194-
* [Easy handle](libcurl/easyhandle.md)
195-
* [curl easy options](libcurl/options.md)
196-
* [Set numerical options](libcurl/options/num.md)
197-
* [Set string options](libcurl/options/strings.md)
198-
* [TLS options](libcurl/options/tls.md)
199-
* [All options](libcurl/options/all.md)
200-
* [Get option information](libcurl/options/info.md)
201-
* [Drive transfers](libcurl/drive.md)
202-
* [Drive with easy](libcurl/drive/easy.md)
203-
* [Drive with multi](libcurl/drive/multi.md)
204-
* [Drive with multi\_socket](libcurl/drive/multi-socket.md)
205-
* [Callbacks](libcurl/callbacks.md)
206-
* [Write data](libcurl/callbacks/write.md)
207-
* [Read data](libcurl/callbacks/read.md)
208-
* [Progress information](libcurl/callbacks/progress.md)
209-
* [Header data](libcurl/callbacks/header.md)
210-
* [Debug](libcurl/callbacks/debug.md)
211-
* [sockopt](libcurl/callbacks/sockopt.md)
212-
* [SSL context](libcurl/callbacks/sslcontext.md)
213-
* [Seek and ioctl](libcurl/callbacks/seek.md)
214-
* [Network data conversion](libcurl/callbacks/conversions.md)
215-
* [Opensocket and closesocket](libcurl/callbacks/openclosesocket.md)
216-
* [SSH key](libcurl/callbacks/sshkey.md)
217-
* [RTSP interleaved data](libcurl/callbacks/rtsp.md)
218-
* [FTP wildcard matching](libcurl/callbacks/ftpmatch.md)
219-
* [Resolver start](libcurl/callbacks/resolver.md)
220-
* [Sending trailers](libcurl/callbacks/trailers.md)
221-
* [HSTS](libcurl/callbacks/hsts.md)
222-
* [Prereq](libcurl/callbacks/prereq.md)
223-
* [Connection control](libcurl/conn.md)
224-
* [How libcurl connects](libcurl/conn/how.md)
225-
* [Connection reuse](libcurl/conn/reuse.md)
226-
* [Name resolving](libcurl/conn/names.md)
227-
* [Proxies](libcurl/conn/proxies.md)
228-
* [Transfer control](libcurl/control.md)
229-
* [Stop](libcurl/control/stop.md)
230-
* [Stop slow transfers](libcurl/control/stopslow.md)
231-
* [Rate limit](libcurl/control/ratelimit.md)
232-
* [Progress meter](libcurl/control/meter.md)
233-
* [Progress callback](libcurl/control/progress-callback.md)
234-
* [Cleanup](libcurl/cleanup.md)
235-
* [Post transfer info](libcurl/getinfo.md)
236-
* [Share data between handles](libcurl/sharing.md)
237-
* [URL API](libcurl/url.md)
238-
* [Include files](libcurl/url/include.md)
239-
* [Create, cleanup, duplicate](libcurl/url/init.md)
240-
* [Parse a URL](libcurl/url/parse.md)
241-
* [Redirect to a relative URL](libcurl/url/redirect.md)
242-
* [Get a URL](libcurl/url/get.md)
243-
* [Get individual URL parts](libcurl/url/get-part.md)
244-
* [Set individual URL parts](libcurl/url/set-part.md)
245-
* [Append to the query](libcurl/url/append-query.md)
246-
* [CURLOPT\_CURLU](libcurl/url/setopt.md)
247-
* [WebSocket](libcurl/ws.md)
248-
* [Support](libcurl/ws/support.md)
249-
* [URLs](libcurl/ws/urls.md)
250-
* [Concept](libcurl/ws/concept.md)
251-
* [Options](libcurl/ws/options.md)
252-
* [Read](libcurl/ws/read.md)
253-
* [Meta](libcurl/ws/meta.md)
254-
* [Write](libcurl/ws/write.md)
255193
* [API compatibility](libcurl/api.md)
256194
* [--libcurl](libcurl/--libcurl.md)
257195
* [multi-threading](libcurl/threading.md)
258196
* [CURLcode return codes](libcurl/curlcode.md)
259197
* [Verbose operations](libcurl/verbose.md)
260198
* [Caches](libcurl/caches.md)
261199
* [Performance](libcurl/performance.md)
262-
* [libcurl examples](libcurl/examples.md)
263-
* [Get a simple HTTP page](libcurl/examples/get.md)
264-
* [Get a response into memory](libcurl/examples/getinmem.md)
265-
* [Submit a login form over HTTP](libcurl/examples/login.md)
266-
* [Get an FTP directory listing](libcurl/examples/ftplist.md)
267-
* [Non-blocking HTTP form-post](libcurl/examples/http-ul-nonblock.md)
268200
* [for C++ programmers](libcurl/cplusplus.md)
269-
* [HTTP with libcurl](libcurl-http.md)
201+
* [libcurl transfers](transfers/README.md)
202+
* [Easy handle](transfers/easyhandle.md)
203+
* [curl easy options](transfers/options/README.md)
204+
* [Set numerical options](transfers/options/num.md)
205+
* [Set string options](transfers/options/strings.md)
206+
* [TLS options](transfers/options/tls.md)
207+
* [All options](transfers/options/all.md)
208+
* [Get option information](transfers/options/info.md)
209+
* [Drive transfers](transfers/drive/README.md)
210+
* [Drive with easy](transfers/drive/easy.md)
211+
* [Drive with multi](transfers/drive/multi.md)
212+
* [Drive with multi\_socket](transfers/drive/multi-socket.md)
213+
* [Callbacks](transfers/callbacks/README.md)
214+
* [Write data](transfers/callbacks/write.md)
215+
* [Read data](transfers/callbacks/read.md)
216+
* [Progress information](transfers/callbacks/progress.md)
217+
* [Header data](transfers/callbacks/header.md)
218+
* [Debug](transfers/callbacks/debug.md)
219+
* [sockopt](transfers/callbacks/sockopt.md)
220+
* [SSL context](transfers/callbacks/sslcontext.md)
221+
* [Seek and ioctl](transfers/callbacks/seek.md)
222+
* [Network data conversion](transfers/callbacks/conversions.md)
223+
* [Opensocket and closesocket](transfers/callbacks/openclosesocket.md)
224+
* [SSH key](transfers/callbacks/sshkey.md)
225+
* [RTSP interleaved data](transfers/callbacks/rtsp.md)
226+
* [FTP wildcard matching](transfers/callbacks/ftpmatch.md)
227+
* [Resolver start](transfers/callbacks/resolver.md)
228+
* [Sending trailers](transfers/callbacks/trailers.md)
229+
* [HSTS](transfers/callbacks/hsts.md)
230+
* [Prereq](transfers/callbacks/prereq.md)
231+
* [Connection control](transfers/conn/README.md)
232+
* [How libcurl connects](transfers/conn/how.md)
233+
* [Connection reuse](transfers/conn/reuse.md)
234+
* [Name resolving](transfers/conn/names.md)
235+
* [Proxies](transfers/conn/proxies.md)
236+
* [Transfer control](transfers/control/README.md)
237+
* [Stop](transfers/control/stop.md)
238+
* [Stop slow transfers](transfers/control/stopslow.md)
239+
* [Rate limit](transfers/control/ratelimit.md)
240+
* [Progress meter](transfers/control/meter.md)
241+
* [Progress callback](transfers/control/progress-callback.md)
242+
* [Cleanup](transfers/cleanup.md)
243+
* [Post transfer info](transfers/getinfo.md)
244+
* [libcurl HTTP](libcurl-http/README.md)
270245
* [Responses](libcurl-http/responses.md)
271246
* [Requests](libcurl-http/requests.md)
272247
* [Versions](libcurl-http/versions.md)
273248
* [Ranges](libcurl-http/ranges.md)
274249
* [Authentication](libcurl-http/auth.md)
275-
* [Headers API](libcurl-http/headerapi.md)
276-
* [Header struct](libcurl-http/headerapi/struct.md)
277-
* [Get a header](libcurl-http/headerapi/get.md)
278-
* [Iterate over headers](libcurl-http/headerapi/iterate.md)
279250
* [Cookies](libcurl-http/cookies.md)
280251
* [Download](libcurl-http/download.md)
281252
* [Upload](libcurl-http/upload.md)
282253
* [Multiplexing](libcurl-http/multiplexing.md)
283254
* [HSTS](libcurl-http/hsts.md)
284255
* [alt-svc](libcurl-http/alt-svc.md)
285-
* [Bindings](bindings.md)
286-
* [libcurl internals](internals.md)
256+
* [libcurl helpers](helpers/README.md)
257+
* [Share data between handles](helpers/sharing.md)
258+
* [URL API](helpers/url/README.md)
259+
* [Include files](helpers/url/include.md)
260+
* [Create, cleanup, duplicate](helpers/url/init.md)
261+
* [Parse a URL](helpers/url/parse.md)
262+
* [Redirect to URL](helpers/url/redirect.md)
263+
* [Get a URL](helpers/url/get.md)
264+
* [Get URL parts](helpers/url/get-part.md)
265+
* [Set URL parts](helpers/url/set-part.md)
266+
* [Append to the query](helpers/url/append-query.md)
267+
* [CURLOPT\_CURLU](helpers/url/setopt.md)
268+
* [WebSocket](helpers/ws/README.md)
269+
* [Support](helpers/ws/support.md)
270+
* [URLs](helpers/ws/urls.md)
271+
* [Concept](helpers/ws/concept.md)
272+
* [Options](helpers/ws/options.md)
273+
* [Read](helpers/ws/read.md)
274+
* [Meta](helpers/ws/meta.md)
275+
* [Write](helpers/ws/write.md)
276+
* [Headers API](helpers/headerapi/README.md)
277+
* [Header struct](helpers/headerapi/struct.md)
278+
* [Get a header](helpers/headerapi/get.md)
279+
* [Iterate over headers](helpers/headerapi/iterate.md)
280+
* [libcurl examples](examples/README.md)
281+
* [Get a simple HTTP page](examples/get.md)
282+
* [Get a response into memory](examples/getinmem.md)
283+
* [Submit a login form over HTTP](examples/login.md)
284+
* [Get an FTP directory listing](examples/ftplist.md)
285+
* [Non-blocking HTTP form-post](examples/http-ul-nonblock.md)
286+
* [libcurl bindings](bindings/README.md)
287+
* [libcurl internals](internals/README.md)
287288
* [Easy handles and connections](internals/easy.md)
288289
* [Everything is multi](internals/multi.md)
289290
* [State machines](internals/statemachines.md)
@@ -296,7 +297,7 @@
296297
* [Content Encoding](internals/content-encoding.md)
297298
* [Structs](internals/structs.md)
298299
* [Resolving host names](internals/resolving.md)
299-
* [Tests](internals/tests.md)
300+
* [Tests](internals/tests/README.md)
300301
* [Test file format](internals/tests/file-format.md)
301302
* [Build tests](internals/tests/build.md)
302303
* [Run tests](internals/tests/run.md)

bindings.md renamed to bindings/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Bindings
1+
# libcurl bindings
22

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

0 commit comments

Comments
 (0)