X7ROOT File Manager
Current Path:
/opt/golang/1.22.0/src/net/http
opt
/
golang
/
1.22.0
/
src
/
net
/
http
/
📁
..
📄
alpn_test.go
(3.01 KB)
📁
cgi
📄
client.go
(33.4 KB)
📄
client_test.go
(63.24 KB)
📄
clientserver_test.go
(46.07 KB)
📄
clone.go
(1.56 KB)
📄
cookie.go
(11.53 KB)
📄
cookie_test.go
(19.26 KB)
📁
cookiejar
📄
doc.go
(3.42 KB)
📄
example_filesystem_test.go
(2.04 KB)
📄
example_handle_test.go
(560 B)
📄
example_test.go
(5.38 KB)
📄
export_test.go
(8.43 KB)
📁
fcgi
📄
filetransport.go
(3.52 KB)
📄
filetransport_test.go
(2.62 KB)
📄
fs.go
(30.36 KB)
📄
fs_test.go
(46.7 KB)
📄
h2_bundle.go
(357.28 KB)
📄
h2_error.go
(812 B)
📄
h2_error_test.go
(1.04 KB)
📄
header.go
(7.9 KB)
📄
header_test.go
(6.05 KB)
📄
http.go
(5.13 KB)
📄
http_test.go
(5.22 KB)
📁
httptest
📁
httptrace
📁
httputil
📁
internal
📄
jar.go
(900 B)
📄
main_test.go
(4.94 KB)
📄
mapping.go
(1.68 KB)
📄
mapping_test.go
(2.95 KB)
📄
method.go
(517 B)
📄
omithttp2.go
(1.91 KB)
📄
pattern.go
(15.17 KB)
📄
pattern_test.go
(14.5 KB)
📁
pprof
📄
proxy_test.go
(1.16 KB)
📄
range_test.go
(2.38 KB)
📄
readrequest_test.go
(9.7 KB)
📄
request.go
(48.34 KB)
📄
request_test.go
(42.39 KB)
📄
requestwrite_test.go
(23.3 KB)
📄
response.go
(11.1 KB)
📄
response_test.go
(23.63 KB)
📄
responsecontroller.go
(4.17 KB)
📄
responsecontroller_test.go
(9.81 KB)
📄
responsewrite_test.go
(6.89 KB)
📄
roundtrip.go
(566 B)
📄
roundtrip_js.go
(11.8 KB)
📄
routing_index.go
(3.95 KB)
📄
routing_index_test.go
(4.02 KB)
📄
routing_tree.go
(7.48 KB)
📄
routing_tree_test.go
(6.89 KB)
📄
serve_test.go
(192.54 KB)
📄
servemux121.go
(5.6 KB)
📄
server.go
(120.67 KB)
📄
server_test.go
(6.95 KB)
📄
sniff.go
(7.9 KB)
📄
sniff_test.go
(9.56 KB)
📄
socks_bundle.go
(12.9 KB)
📄
status.go
(7.45 KB)
📁
testdata
📄
transfer.go
(30.89 KB)
📄
transfer_test.go
(9.13 KB)
📄
transport.go
(87.81 KB)
📄
transport_default_other.go
(362 B)
📄
transport_default_wasm.go
(364 B)
📄
transport_internal_test.go
(6.05 KB)
📄
transport_test.go
(186.06 KB)
📄
triv.go
(3.22 KB)
Editing: mapping_test.go
// Copyright 2023 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package http import ( "cmp" "fmt" "slices" "strconv" "testing" ) func TestMapping(t *testing.T) { var m mapping[int, string] for i := 0; i < maxSlice; i++ { m.add(i, strconv.Itoa(i)) } if m.m != nil { t.Fatal("m.m != nil") } for i := 0; i < maxSlice; i++ { g, _ := m.find(i) w := strconv.Itoa(i) if g != w { t.Fatalf("%d: got %s, want %s", i, g, w) } } m.add(4, "4") if m.s != nil { t.Fatal("m.s != nil") } if m.m == nil { t.Fatal("m.m == nil") } g, _ := m.find(4) if w := "4"; g != w { t.Fatalf("got %s, want %s", g, w) } } func TestMappingEachPair(t *testing.T) { var m mapping[int, string] var want []entry[int, string] for i := 0; i < maxSlice*2; i++ { v := strconv.Itoa(i) m.add(i, v) want = append(want, entry[int, string]{i, v}) } var got []entry[int, string] m.eachPair(func(k int, v string) bool { got = append(got, entry[int, string]{k, v}) return true }) slices.SortFunc(got, func(e1, e2 entry[int, string]) int { return cmp.Compare(e1.key, e2.key) }) if !slices.Equal(got, want) { t.Errorf("got %v, want %v", got, want) } } func BenchmarkFindChild(b *testing.B) { key := "articles" children := []string{ "*", "cmd.html", "code.html", "contrib.html", "contribute.html", "debugging_with_gdb.html", "docs.html", "effective_go.html", "files.log", "gccgo_contribute.html", "gccgo_install.html", "go-logo-black.png", "go-logo-blue.png", "go-logo-white.png", "go1.1.html", "go1.2.html", "go1.html", "go1compat.html", "go_faq.html", "go_mem.html", "go_spec.html", "help.html", "ie.css", "install-source.html", "install.html", "logo-153x55.png", "Makefile", "root.html", "share.png", "sieve.gif", "tos.html", "articles", } if len(children) != 32 { panic("bad len") } for _, n := range []int{2, 4, 8, 16, 32} { list := children[:n] b.Run(fmt.Sprintf("n=%d", n), func(b *testing.B) { b.Run("rep=linear", func(b *testing.B) { var entries []entry[string, any] for _, c := range list { entries = append(entries, entry[string, any]{c, nil}) } b.ResetTimer() for i := 0; i < b.N; i++ { findChildLinear(key, entries) } }) b.Run("rep=map", func(b *testing.B) { m := map[string]any{} for _, c := range list { m[c] = nil } var x any b.ResetTimer() for i := 0; i < b.N; i++ { x = m[key] } _ = x }) b.Run(fmt.Sprintf("rep=hybrid%d", maxSlice), func(b *testing.B) { var h mapping[string, any] for _, c := range list { h.add(c, nil) } var x any b.ResetTimer() for i := 0; i < b.N; i++ { x, _ = h.find(key) } _ = x }) }) } } func findChildLinear(key string, entries []entry[string, any]) any { for _, e := range entries { if key == e.key { return e.value } } return nil }
Upload File
Create Folder