Kashiwa
2dfdfd86bf
refactor: use buf in Args instead of bytebufferpool ( #1931 )
2025-01-03 00:05:43 +01:00
Oleksandr Redko
ce283fb97c
docs: improve README formatting and section headers ( #1925 )
...
This improves links rendering on pkg.go.dev.
2024-12-19 07:00:04 +01:00
dependabot[bot]
3579725cf6
chore(deps): bump golang.org/x/net from 0.32.0 to 0.33.0 ( #1927 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.32.0 to 0.33.0.
- [Commits](https://github.com/golang/net/compare/v0.32.0...v0.33.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 06:58:09 +01:00
Erik Dubbelboer
705ad0079a
Fix parsing of bad urls with # ( #1915 )
...
http://google.com#@github.com parses incorrectly as github.com instead
of google.com.
Reported by Jesse Yang
2024-12-18 07:54:39 +01:00
Kashiwa
bdcbf61348
fix: "identity" has been deprecated #1909 ( #1919 )
2024-12-15 05:32:21 +01:00
prepaser
db50deedb0
fix: Method-preserving doRequestFollowRedirects ( #1920 )
2024-12-15 05:32:05 +01:00
dependabot[bot]
1574313981
chore(deps): bump golang.org/x/net from 0.31.0 to 0.32.0 ( #1910 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.31.0 to 0.32.0.
- [Commits](https://github.com/golang/net/compare/v0.31.0...v0.32.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-12 20:02:39 +08:00
dependabot[bot]
9a4301f252
chore(deps): bump golang.org/x/crypto from 0.29.0 to 0.31.0 ( #1918 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.29.0 to 0.31.0.
- [Commits](https://github.com/golang/crypto/compare/v0.29.0...v0.31.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-12 19:06:06 +08:00
不插电
f203307887
fix: ShutdownWithContext and ctx.Done() exist race. ( #1908 )
...
* fix: ShutdownWithContext and ctx.Done() exist race.
* fix: Even if ln.Close() err, the Shutdown process should still proceed.
* refactor: remove END label.
v1.58.0
2024-12-08 12:52:06 +01:00
Jeppe Bonde Weikop
7b74fc9845
fix: lenient chunk extension parsing leading to request smuggling issues ( #1899 )
...
* fix request smuggling issue
* correct broken error messages
* fix lint
2024-11-24 20:10:50 +08:00
Kashiwa
ed2d390623
fix: incorrect handling of negative cookie.maxAge #1900 ( #1902 )
2024-11-15 12:53:08 +08:00
dependabot[bot]
bbc2b6f327
chore(deps): bump golang.org/x/net from 0.30.0 to 0.31.0 ( #1897 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.30.0 to 0.31.0.
- [Commits](https://github.com/golang/net/compare/v0.30.0...v0.31.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 07:04:30 +01:00
Oleksandr Redko
bc70d31d17
refactor: fix revive.indent-error-flow lint issues ( #1896 )
2024-11-10 20:09:27 +08:00
Kashiwa
f6ba4abd2d
perf: improve copyZeroAlloc for File and TCPConn ( #1893 )
...
Improve performance of `copyZeroAlloc` function
```
goos: linux
goarch: amd64
pkg: github.com/valyala/fasthttp
cpu: QEMU Virtual CPU version 2.5+
│ old6.txt │ new7.txt │
│ sec/op │ sec/op vs base │
CopyZeroAllocOSFileToBytesBuffer-8 1.802µ ± 3% 1.303µ ± 2% -27.69% (p=0.000 n=25)
CopyZeroAllocBytesBufferToOSFile-8 1.066µ ± 17% 1.048µ ± 1% -1.69% (p=0.043 n=25)
CopyZeroAllocOSFileToStringsBuilder-8 9.477µ ± 0% 1.345µ ± 2% -85.81% (p=0.000 n=25)
CopyZeroAllocIOLimitedReaderToOSFile-8 1.031µ ± 1% 1.092µ ± 4% +5.92% (p=0.000 n=25)
CopyZeroAllocOSFileToOSFile-8 12.132µ ± 1% 2.386µ ± 2% -80.33% (p=0.000 n=25)
CopyZeroAllocOSFileToNetConn-8 2.009µ ± 2% 1.995µ ± 2% ~ (p=0.733 n=25)
CopyZeroAllocNetConnToOSFile-8 21.86µ ± 2% 20.21µ ± 1% -7.56% (p=0.000 n=25)
geomean 3.728µ 2.121µ -43.11%
│ old6.txt │ new7.txt │
│ B/op │ B/op vs base │
CopyZeroAllocOSFileToBytesBuffer-8 40.00 ± 0% 0.00 ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocBytesBufferToOSFile-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=25) ¹
CopyZeroAllocOSFileToStringsBuilder-8 32.04Ki ± 0% 0.00Ki ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocIOLimitedReaderToOSFile-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=25) ¹
CopyZeroAllocOSFileToOSFile-8 32.06Ki ± 0% 0.00Ki ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocOSFileToNetConn-8 96.00 ± 0% 96.00 ± 0% ~ (p=1.000 n=25) ¹
CopyZeroAllocNetConnToOSFile-8 16.000 ± 6% 8.000 ± 12% -50.00% (p=0.000 n=25)
geomean ² ? ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean
│ old6.txt │ new7.txt │
│ allocs/op │ allocs/op vs base │
CopyZeroAllocOSFileToBytesBuffer-8 4.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocBytesBufferToOSFile-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=25) ¹
CopyZeroAllocOSFileToStringsBuilder-8 5.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocIOLimitedReaderToOSFile-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=25) ¹
CopyZeroAllocOSFileToOSFile-8 8.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocOSFileToNetConn-8 6.000 ± 0% 6.000 ± 0% ~ (p=1.000 n=25) ¹
CopyZeroAllocNetConnToOSFile-8 2.000 ± 0% 1.000 ± 0% -50.00% (p=0.000 n=25)
geomean ² ? ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean
```
```
goos: windows
goarch: amd64
pkg: github.com/valyala/fasthttp
cpu: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
│ old_win.txt │ new_win.txt │
│ sec/op │ sec/op vs base │
CopyZeroAllocOSFileToBytesBuffer-8 4.347µ ± 7% 4.220µ ± 11% ~ (p=0.211 n=25)
CopyZeroAllocBytesBufferToOSFile-8 1.408µ ± 12% 1.460µ ± 7% ~ (p=0.427 n=25)
CopyZeroAllocOSFileToStringsBuilder-8 17.448µ ± 5% 3.613µ ± 9% -79.29% (p=0.000 n=25)
CopyZeroAllocIOLimitedReaderToOSFile-8 1.324µ ± 8% 1.257µ ± 6% -5.06% (p=0.024 n=25)
CopyZeroAllocOSFileToOSFile-8 19.953µ ± 8% 4.846µ ± 7% -75.71% (p=0.000 n=25)
CopyZeroAllocOSFileToNetConn-8 18.18µ ± 8% 18.22µ ± 7% ~ (p=0.405 n=25)
CopyZeroAllocNetConnToOSFile-8 74.75µ ± 2% 68.10µ ± 3% -8.90% (p=0.000 n=25)
geomean 8.720µ 5.579µ -36.02%
│ old_win.txt │ new_win.txt │
│ B/op │ B/op vs base │
CopyZeroAllocOSFileToBytesBuffer-8 8.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocBytesBufferToOSFile-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=25) ¹
CopyZeroAllocOSFileToStringsBuilder-8 32.01Ki ± 0% 0.00Ki ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocIOLimitedReaderToOSFile-8 9.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocOSFileToOSFile-8 32.02Ki ± 0% 0.00Ki ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocOSFileToNetConn-8 32.02Ki ± 0% 32.02Ki ± 0% ~ (p=1.000 n=25) ¹
CopyZeroAllocNetConnToOSFile-8 32.02Ki ± 0% 32.02Ki ± 0% -0.00% (p=0.012 n=25)
geomean ² ? ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean
│ old_win.txt │ new_win.txt │
│ allocs/op │ allocs/op vs base │
CopyZeroAllocOSFileToBytesBuffer-8 1.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocBytesBufferToOSFile-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=25) ¹
CopyZeroAllocOSFileToStringsBuilder-8 2.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocIOLimitedReaderToOSFile-8 2.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocOSFileToOSFile-8 3.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=25)
CopyZeroAllocOSFileToNetConn-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=25) ¹
CopyZeroAllocNetConnToOSFile-8 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=25) ¹
geomean ² ? ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean
```
2024-11-08 06:02:43 +01:00
dependabot[bot]
bea47f54b2
chore(deps): bump golang.org/x/crypto from 0.28.0 to 0.29.0 ( #1895 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.28.0 to 0.29.0.
- [Commits](https://github.com/golang/crypto/compare/v0.28.0...v0.29.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 05:42:23 +01:00
Kashiwa
803c25e54c
fix RequestCtx is canceled ( #1879 ) ( #1890 )
...
Create done channel in fakeServer during the initialization of newRequestCtx to prevent the done channel from being nil
v1.57.0
2024-10-27 20:15:57 +01:00
Lavish
40bdc4abc7
feat(fasthttpproxy): add dual-stack connection support to enable IPv6 proxies for HTTP and SOCKS5 dialers ( #1885 )
...
* feat(fasthttpproxy): add dual-stack connection support to enable IPv6 proxies for HTTP and SOCKS5 dialers
- Added `FasthttpHTTPDialerDualStack` to support dual-stack (IPv4 and IPv6) connections for HTTP proxies, enabling IPv6 proxy usage.
- Added `FasthttpSocksDialerDualStack` to support dual-stack (IPv4 and IPv6) connections for SOCKS5 proxies, enabling IPv6 proxy usage.
- Improved dialer configuration to ensure compatibility with both IPv4 and IPv6 proxies.
* fix(lint): address linting issues in code
2024-10-22 19:19:00 +02:00
Oleksandr Redko
56fd74b8c0
chore: Upgrade golangci-lint to 1.61.0 ( #1887 )
2024-10-22 13:03:34 +02:00
dependabot[bot]
d795f13985
chore(deps): bump github.com/klauspost/compress from 1.17.10 to 1.17.11 ( #1886 )
...
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress ) from 1.17.10 to 1.17.11.
- [Release notes](https://github.com/klauspost/compress/releases )
- [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml )
- [Commits](https://github.com/klauspost/compress/compare/v1.17.10...v1.17.11 )
---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-18 23:02:54 +02:00
dependabot[bot]
c473b7f024
chore(deps): bump github.com/andybalholm/brotli from 1.1.0 to 1.1.1 ( #1884 )
...
Bumps [github.com/andybalholm/brotli](https://github.com/andybalholm/brotli ) from 1.1.0 to 1.1.1.
- [Commits](https://github.com/andybalholm/brotli/compare/v1.1.0...v1.1.1 )
---
updated-dependencies:
- dependency-name: github.com/andybalholm/brotli
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-18 22:53:52 +02:00
Kashiwa
9458f7a33c
improve ishex and unhex by hex2intTable ( #1883 )
2024-10-18 22:51:22 +02:00
dependabot[bot]
6ac5603e22
chore(deps): bump golang.org/x/net from 0.29.0 to 0.30.0 ( #1880 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.29.0 to 0.30.0.
- [Commits](https://github.com/golang/net/compare/v0.29.0...v0.30.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 08:55:45 +02:00
dependabot[bot]
f805dd28f9
chore(deps): bump golang.org/x/crypto from 0.27.0 to 0.28.0 ( #1881 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.27.0 to 0.28.0.
- [Commits](https://github.com/golang/crypto/compare/v0.27.0...v0.28.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 08:27:47 +02:00
Agustin Arce
0b74893830
feat (request): expose req timeout ( #1878 )
...
* feat (request): expose req timeout as string
* refactor (http): update return type of GetTimeOut
* docs (http): add doc to GetTimeOut
2024-10-05 15:49:40 +02:00
dependabot[bot]
28b610d3a7
chore(deps): bump securego/gosec from 2.21.3 to 2.21.4 ( #1874 )
...
Bumps [securego/gosec](https://github.com/securego/gosec ) from 2.21.3 to 2.21.4.
- [Release notes](https://github.com/securego/gosec/releases )
- [Changelog](https://github.com/securego/gosec/blob/master/.goreleaser.yml )
- [Commits](https://github.com/securego/gosec/compare/v2.21.3...v2.21.4 )
---
updated-dependencies:
- dependency-name: securego/gosec
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-27 07:58:59 +02:00
dependabot[bot]
6ead01c29e
chore(deps): bump github.com/klauspost/compress from 1.17.9 to 1.17.10 ( #1872 )
...
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress ) from 1.17.9 to 1.17.10.
- [Release notes](https://github.com/klauspost/compress/releases )
- [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml )
- [Commits](https://github.com/klauspost/compress/compare/v1.17.9...v1.17.10 )
---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-25 21:15:18 +02:00
Sigmund Xia 夏天睿
441750d6f5
add a note to clarify header.Set behavior on cookies ( #1864 )
2024-09-25 20:57:24 +02:00
Kashiwa
e2bb2e0d64
Improve performance of ParseUfloat ( #1865 )
...
* Improve performance of ParseUfloat function
Replaced `offset` handling logic with more efficient math.Pow10 based calculation.
goos: linux
goarch: amd64
pkg: github.com/valyala/fasthttp
cpu: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
│ old.txt │ new.txt │
│ sec/op │ sec/op vs base │
ParseUfloat-8 44.22n ± 0% 31.06n ± 0% -29.76% (n=50)
* fix: lint error return value is not checked
* Handling uint64 overflow issues
* Implement ParseUfloat by calling strconv.ParseFloat
* fix: lint error
v1.56.0
2024-09-22 15:46:29 +02:00
Kirill
7c9c003d1d
fix: type assertion to perIPTLSConn instead of erroneous perIPConn ( #1863 )
2024-09-21 16:39:36 +02:00
Kashiwa
318e68ece3
Reduce the size of the Cookie by 32 bytes. ( #1866 )
...
Replace the field `bufKV` with two `[]byte` fields and remove the filed `buf`.
- Reduce Cookie from **224** to **192** bytes.
- In the benchmark tests, although there is no significant performance improvement, it theoretically reduces memory usage by **14.3%**.
2024-09-21 16:19:53 +02:00
dependabot[bot]
012887190c
chore(deps): bump securego/gosec from 2.21.2 to 2.21.3 ( #1870 )
...
Bumps [securego/gosec](https://github.com/securego/gosec ) from 2.21.2 to 2.21.3.
- [Release notes](https://github.com/securego/gosec/releases )
- [Changelog](https://github.com/securego/gosec/blob/master/.goreleaser.yml )
- [Commits](https://github.com/securego/gosec/compare/v2.21.2...v2.21.3 )
---
updated-dependencies:
- dependency-name: securego/gosec
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-21 16:12:01 +02:00
Kashiwa
5745601565
Represent stateName by []string instead of map ( #1871 )
2024-09-21 16:11:46 +02:00
Sigmund Xia 夏天睿
65e989e8b8
Fix improper memory reuse in NewFastHTTPHandler ( #1860 )
...
* add test which will cause error
* rename test
* fix improper memory reuse in NewFastHTTPHandler
* move deep copy from VisitAll to f
* copy value string only for cookie
2024-09-10 20:05:52 +02:00
newacorn
74864cbda9
Revert "Using atomic instead of mutex and delete scratch slice" ( #1846 )
...
* Remove a redundant field and clarify the comments.
* Revert "Using atomic instead of mutex and delete scratch slice (#1833 )"
This reverts commit 19c50cdc44 .
2024-09-10 18:48:26 +02:00
dependabot[bot]
1d8ad873d1
chore(deps): bump securego/gosec from 2.21.1 to 2.21.2 ( #1861 )
...
Bumps [securego/gosec](https://github.com/securego/gosec ) from 2.21.1 to 2.21.2.
- [Release notes](https://github.com/securego/gosec/releases )
- [Changelog](https://github.com/securego/gosec/blob/master/.goreleaser.yml )
- [Commits](https://github.com/securego/gosec/compare/v2.21.1...v2.21.2 )
---
updated-dependencies:
- dependency-name: securego/gosec
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-10 18:15:47 +02:00
Erik Dubbelboer
c3050516d9
Fix lint and security issues
...
gosec was failing after the last update introduced some new checks.
2024-09-07 15:22:05 +02:00
dependabot[bot]
7699fc9151
chore(deps): bump securego/gosec from 2.20.0 to 2.21.1 ( #1855 )
...
Bumps [securego/gosec](https://github.com/securego/gosec ) from 2.20.0 to 2.21.1.
- [Release notes](https://github.com/securego/gosec/releases )
- [Changelog](https://github.com/securego/gosec/blob/master/.goreleaser.yml )
- [Commits](https://github.com/securego/gosec/compare/v2.20.0...v2.21.1 )
---
updated-dependencies:
- dependency-name: securego/gosec
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 10:30:22 +02:00
dependabot[bot]
bd3f816289
chore(deps): bump golang.org/x/net from 0.28.0 to 0.29.0 ( #1857 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.28.0 to 0.29.0.
- [Commits](https://github.com/golang/net/compare/v0.28.0...v0.29.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 10:30:02 +02:00
dependabot[bot]
fe972df464
chore(deps): bump golang.org/x/crypto from 0.26.0 to 0.27.0 ( #1858 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.26.0 to 0.27.0.
- [Commits](https://github.com/golang/crypto/compare/v0.26.0...v0.27.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 10:23:34 +02:00
newacorn
4616630d57
Remove a redundant field and clarify the comments. ( #1851 )
2024-09-01 22:39:37 +02:00
newacorn
b33e869e2e
Another implementation of RetryIfErr ( #1850 )
...
* Support for delayed retry logic
* Support for resetting the request timeout before retrying
* Users can decide whether to retry based on the request error and the number of retries.
Estimating the time required for a request to complete is relatively straightforward, but when retries are factored in, it becomes challenging to gauge this time accurately.
2024-09-01 09:17:10 +02:00
Erik Dubbelboer
d331a713fe
Fix some benchmarks
...
%q instead of %s made the request invalid and makes some of our
benchmarks hang.
2024-08-31 15:04:15 +02:00
newacorn
d5c7d8953d
fix: The client write operation did not immediately return upon encountering an RST packet. ( #1849 )
...
The current client implementation does not immediately return when encountering an RST packet while sending a request, but instead ignores it. This behavior is inconsistent with the net/http package and does not make logical sense.
2024-08-31 14:52:13 +02:00
newacorn
d31f4ef7d5
When StreamRequestBody is set to true, we cannot safely release br. ( #1844 )
...
For example, when using chunked encoding, it's possible that `br` has only read the request headers.
2024-08-31 14:41:54 +02:00
newacorn
3aa972e2fc
Fix issues with tests interfering with each other in certain situations. ( #1842 )
...
In some cases, the goroutines started by one test do not terminate smoothly before the next round of tests begins, causing interference between tests.
Performance Impact: This results in test completion times not increasing linearly with the count value.
Correctness Impact: It affects the accuracy of memory allocation test cases.
2024-08-31 14:27:05 +02:00
newacorn
f789432e77
Fix potential data race reports when the -race flag is enabled. ( #1847 )
...
The `testClientDoTimeoutError` and `testClientGetTimeoutSuccess` test function does not immediately return or fatal when the test fails. Instead, it continues to stringify the byte slice that was passed as the `dst` parameter to the `Client.GetTimeout` method. If the test fails due to a timeout, the request may still be ongoing, and there might be a data race between writing to `dst` and the stringification operation.
2024-08-31 14:26:07 +02:00
newacorn
c15489d7f5
Make the tests complete earlier. ( #1848 )
...
Reduce the test duration to 36% of the original time.
2024-08-31 14:25:11 +02:00
newacorn
b0ea03f70a
Fix Different request paths share the same fs cache is some cases. ( #1843 )
...
Currently, the implementation may result in shared fs cache between requests for dir and dir/.
2024-08-31 14:21:51 +02:00
NikoMalik
19c50cdc44
Using atomic instead of mutex and delete scratch slice ( #1833 )
...
* using atomic instead of mutex and delete scratch slice
* optimize struct
* fix default bool
* escape data race
* avoid the momentary change of wp.workersCount.
* removed unused tail (for now)
* little fixes
* fixed allocations
This option immediately exits the loop when the maximum number of vorkers is reached, rather than creating a new vorker if the limit is reached. This reduces the frequency of unnecessary operations and potential locks in sync.Pool
* Update for linter workerpool.go
Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com >
* Update for lint#2 workerpool.go
Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com >
* Update for lint#3 workerpool.go
Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com >
* Update for lint#4 workerpool.go
* eliminating potential data races
---------
Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com >
2024-08-25 17:03:05 +02:00
Kashiwa
25c52d7034
Make RetryIfFunc handle request errors ( #1818 )
...
* Make RetryIfFunc handle request errors.
* Replace interface{} to any
* Add field RetryIfErr to fix issue 1744
* Fix linter error
2024-08-25 16:14:02 +02:00