mirror of
https://github.com/curl/curl.git
synced 2025-01-12 13:55:11 +08:00
61f52a97e9
Adding `bufq`: - at init() time configured to hold up to `n` chunks of `m` bytes each. - various methods for reading from and writing to it. - `peek` support to get access to buffered data without copy - `pass` support to allow buffer flushing on write if it becomes full - use case: IO buffers for dynamic reads and writes that do not blow up - distinct from `dynbuf` in that: - it maintains a read position - writes on a full bufq return CURLE_AGAIN instead of nuking itself - Init options: - SOFT_LIMIT: allow writes into a full bufq - NO_SPARES: free empty chunks right away - a `bufc_pool` that can keep a number of spare chunks to be shared between different `bufq` instances Adding `dynhds`: - a straightforward list of name+value pairs as used for HTTP headers - headers can be appended dynamically - headers can be removed again - headers can be replaced - headers can be looked up - http/1.1 formatting into a `dynbuf` - configured at init() with limits on header counts and total string sizes - use case: pass a HTTP request or response around without being version specific - express a HTTP request without a curl easy handle (used in h2 proxy tunnels) - future extension possibilities: - conversions of `dynhds` to nghttp2/nghttp3 name+value arrays Closes #10720
43 lines
1.6 KiB
Makefile
43 lines
1.6 KiB
Makefile
#***************************************************************************
|
|
# _ _ ____ _
|
|
# Project ___| | | | _ \| |
|
|
# / __| | | | |_) | |
|
|
# | (__| |_| | _ <| |___
|
|
# \___|\___/|_| \_\_____|
|
|
#
|
|
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
#
|
|
# This software is licensed as described in the file COPYING, which
|
|
# you should have received as part of this distribution. The terms
|
|
# are also available at https://curl.se/docs/copyright.html.
|
|
#
|
|
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
# copies of the Software, and permit persons to whom the Software is
|
|
# furnished to do so, under the terms of the COPYING file.
|
|
#
|
|
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
# KIND, either express or implied.
|
|
#
|
|
# SPDX-License-Identifier: curl
|
|
#
|
|
###########################################################################
|
|
|
|
# these files are used in every single unit test program
|
|
|
|
UNITFILES = curlcheck.h \
|
|
../libtest/test.h \
|
|
../libtest/first.c
|
|
|
|
# These are all unit test programs
|
|
UNITPROGS = unit1300 unit1302 unit1303 unit1304 unit1305 unit1307 \
|
|
unit1308 unit1309 unit1323 \
|
|
unit1330 unit1394 unit1395 unit1396 unit1397 unit1398 \
|
|
unit1399 \
|
|
unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \
|
|
unit1608 unit1609 unit1610 unit1611 unit1612 unit1614 \
|
|
unit1620 unit1621 \
|
|
unit1650 unit1651 unit1652 unit1653 unit1654 unit1655 \
|
|
unit1660 unit1661 \
|
|
unit2600 unit2601 unit2602 \
|
|
unit3200
|