mirror of
https://github.com/tinygo-org/net.git
synced 2026-08-15 08:53:40 +00:00
Upgrade net package from Go 1.21.4 to Go 1.26.2
Backport upstream Go standard library changes to TinyGo's net package. Unmodified files (18) replaced directly from Go 1.26.2 source. Modified files (22) merged via 3-way diff, preserving all TinyGo netdev adaptations, TINYGO markers, and embedded-device constraints. Notable upstream changes included: - net/http: cookie handling improvements, fs enhancements, reverse proxy updates, chunked encoding fixes - net/http: ServeMux routing and pattern matching updates - net: IP parsing and MAC address handling improvements - Various doc link syntax modernization (e.g. [Dial], [Buffers]) TinyGo-only files (netdev.go, tlssock.go) unchanged. All TINYGO comment markers preserved.
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
// TINYGO: The following is copied from Go 1.21.5 official implementation.
|
||||
|
||||
// Copyright 2009 The Go Authors. All rights reserved.
|
||||
// TINYGO: The following is copied from Go 1.26.2 official implementation.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
@@ -73,8 +71,8 @@ func outgoingLength(req *http.Request) int64 {
|
||||
return -1
|
||||
}
|
||||
|
||||
// DumpRequestOut is like DumpRequest but for outgoing client requests. It
|
||||
// includes any headers that the standard http.Transport adds, such as
|
||||
// DumpRequestOut is like [DumpRequest] but for outgoing client requests. It
|
||||
// includes any headers that the standard [http.Transport] adds, such as
|
||||
// User-Agent.
|
||||
func DumpRequestOut(req *http.Request, body bool) ([]byte, error) {
|
||||
save := req.Body
|
||||
@@ -149,7 +147,6 @@ func DumpRequestOut(req *http.Request, body bool) ([]byte, error) {
|
||||
|
||||
req.Body = save
|
||||
if err != nil {
|
||||
pw.Close()
|
||||
dr.err = err
|
||||
close(quitReadCh)
|
||||
return nil, err
|
||||
@@ -205,17 +202,17 @@ var reqWriteExcludeHeaderDump = map[string]bool{
|
||||
// representation. It should only be used by servers to debug client
|
||||
// requests. The returned representation is an approximation only;
|
||||
// some details of the initial request are lost while parsing it into
|
||||
// an http.Request. In particular, the order and case of header field
|
||||
// an [http.Request]. In particular, the order and case of header field
|
||||
// names are lost. The order of values in multi-valued headers is kept
|
||||
// intact. HTTP/2 requests are dumped in HTTP/1.x form, not in their
|
||||
// original binary representations.
|
||||
//
|
||||
// If body is true, DumpRequest also returns the body. To do so, it
|
||||
// consumes req.Body and then replaces it with a new io.ReadCloser
|
||||
// consumes req.Body and then replaces it with a new [io.ReadCloser]
|
||||
// that yields the same bytes. If DumpRequest returns an error,
|
||||
// the state of req is undefined.
|
||||
//
|
||||
// The documentation for http.Request.Write details which fields
|
||||
// The documentation for [http.Request.Write] details which fields
|
||||
// of req are included in the dump.
|
||||
func DumpRequest(req *http.Request, body bool) ([]byte, error) {
|
||||
var err error
|
||||
|
||||
Reference in New Issue
Block a user