| !<arch> |
| __.PKGDEF 0 0 0 644 79816 ` |
| go object linux amd64 go1.4.1 X:precisestack |
| |
| $$ |
| package httptest |
| import net "net" |
| import sync "sync" |
| import flag "flag" |
| import runtime "runtime" |
| import tls "crypto/tls" |
| import http "net/http" |
| import os "os" |
| import fmt "fmt" |
| import bytes "bytes" |
| import io "io" // indirect |
| type @"io".Writer interface { Write(@"io".p []byte) (@"io".n int, @"io".err error) } |
| type @"net/http".keyValues struct { @"net/http".key string; @"net/http".values []string } |
| type @"net/http".headerSorter struct { @"net/http".kvs []@"net/http".keyValues } |
| func (@"net/http".s·2 *@"net/http".headerSorter "esc:0x0") Len () (? int) { return len(@"net/http".s·2.@"net/http".kvs) } |
| func (@"net/http".s·2 *@"net/http".headerSorter "esc:0x0") Less (@"net/http".i·3 int, @"net/http".j·4 int) (? bool) { return @"net/http".s·2.@"net/http".kvs[@"net/http".i·3].@"net/http".key < @"net/http".s·2.@"net/http".kvs[@"net/http".j·4].@"net/http".key } |
| func (@"net/http".s·1 *@"net/http".headerSorter "esc:0x0") Swap (@"net/http".i·2 int, @"net/http".j·3 int) { @"net/http".s·1.@"net/http".kvs[@"net/http".i·2], @"net/http".s·1.@"net/http".kvs[@"net/http".j·3] = @"net/http".s·1.@"net/http".kvs[@"net/http".j·3], @"net/http".s·1.@"net/http".kvs[@"net/http".i·2] } |
| type @"net/http".Header map[string][]string |
| func (@"net/http".h·1 @"net/http".Header "esc:0x0") Add (@"net/http".key·2 string, @"net/http".value·3 string) |
| func (@"net/http".h·1 @"net/http".Header "esc:0x0") Del (@"net/http".key·2 string "esc:0x0") |
| func (@"net/http".h·2 @"net/http".Header "esc:0x0") Get (@"net/http".key·3 string "esc:0x0") (? string) |
| func (@"net/http".h·1 @"net/http".Header "esc:0x0") Set (@"net/http".key·2 string, @"net/http".value·3 string) |
| func (@"net/http".h·2 @"net/http".Header "esc:0x0") Write (@"net/http".w·3 @"io".Writer) (? error) |
| func (@"net/http".h·2 @"net/http".Header "esc:0x0") WriteSubset (@"net/http".w·3 @"io".Writer, @"net/http".exclude·4 map[string]bool "esc:0x0") (? error) |
| func (@"net/http".h·2 @"net/http".Header "esc:0x0") @"net/http".clone () (? @"net/http".Header) |
| func (@"net/http".h·2 @"net/http".Header "esc:0x0") @"net/http".get (@"net/http".key·3 string "esc:0x0") (? string) { var @"net/http".v·4 []string; ; @"net/http".v·4 = @"net/http".h·2[@"net/http".key·3]; if len(@"net/http".v·4) > 0x0 { return @"net/http".v·4[0x0] }; return "" } |
| func (@"net/http".h·3 @"net/http".Header "esc:0x0") @"net/http".sortedKeyValues (@"net/http".exclude·4 map[string]bool "esc:0x0") (@"net/http".kvs·1 []@"net/http".keyValues, @"net/http".hs·2 *@"net/http".headerSorter) |
| type @"bytes".readOp int |
| type @"io".Reader interface { Read(@"io".p []byte) (@"io".n int, @"io".err error) } |
| type @"bytes".Buffer struct { @"bytes".buf []byte; @"bytes".off int; @"bytes".runeBytes [4]byte; @"bytes".bootstrap [64]byte; @"bytes".lastRead @"bytes".readOp } |
| func (@"bytes".b·2 *@"bytes".Buffer "esc:0x1") Bytes () (? []byte) { return @"bytes".b·2.@"bytes".buf[@"bytes".b·2.@"bytes".off:] } |
| func (@"bytes".b·1 *@"bytes".Buffer) Grow (@"bytes".n·2 int) |
| func (@"bytes".b·2 *@"bytes".Buffer "esc:0x0") Len () (? int) { return len(@"bytes".b·2.@"bytes".buf) - @"bytes".b·2.@"bytes".off } |
| func (@"bytes".b·2 *@"bytes".Buffer "esc:0x1") Next (@"bytes".n·3 int) (? []byte) |
| func (@"bytes".b·3 *@"bytes".Buffer) Read (@"bytes".p·4 []byte "esc:0x0") (@"bytes".n·1 int, @"bytes".err·2 error) |
| func (@"bytes".b·3 *@"bytes".Buffer) ReadByte () (@"bytes".c·1 byte, @"bytes".err·2 error) |
| func (@"bytes".b·3 *@"bytes".Buffer "esc:0x0") ReadBytes (@"bytes".delim·4 byte) (@"bytes".line·1 []byte, @"bytes".err·2 error) |
| func (@"bytes".b·3 *@"bytes".Buffer) ReadFrom (@"bytes".r·4 @"io".Reader) (@"bytes".n·1 int64, @"bytes".err·2 error) |
| func (@"bytes".b·4 *@"bytes".Buffer) ReadRune () (@"bytes".r·1 rune, @"bytes".size·2 int, @"bytes".err·3 error) |
| func (@"bytes".b·3 *@"bytes".Buffer "esc:0x0") ReadString (@"bytes".delim·4 byte) (@"bytes".line·1 string, @"bytes".err·2 error) |
| func (@"bytes".b·1 *@"bytes".Buffer) Reset () |
| func (@"bytes".b·2 *@"bytes".Buffer "esc:0x0") String () (? string) { if @"bytes".b·2 == nil { return "<nil>" }; return string(@"bytes".b·2.@"bytes".buf[@"bytes".b·2.@"bytes".off:]) } |
| func (@"bytes".b·1 *@"bytes".Buffer) Truncate (@"bytes".n·2 int) |
| func (@"bytes".b·2 *@"bytes".Buffer "esc:0x0") UnreadByte () (? error) |
| func (@"bytes".b·2 *@"bytes".Buffer "esc:0x0") UnreadRune () (? error) |
| func (@"bytes".b·3 *@"bytes".Buffer) Write (@"bytes".p·4 []byte "esc:0x0") (@"bytes".n·1 int, @"bytes".err·2 error) |
| func (@"bytes".b·2 *@"bytes".Buffer) WriteByte (@"bytes".c·3 byte) (? error) |
| func (@"bytes".b·3 *@"bytes".Buffer) WriteRune (@"bytes".r·4 rune) (@"bytes".n·1 int, @"bytes".err·2 error) |
| func (@"bytes".b·3 *@"bytes".Buffer) WriteString (@"bytes".s·4 string "esc:0x0") (@"bytes".n·1 int, @"bytes".err·2 error) |
| func (@"bytes".b·3 *@"bytes".Buffer) WriteTo (@"bytes".w·4 @"io".Writer) (@"bytes".n·1 int64, @"bytes".err·2 error) |
| func (@"bytes".b·2 *@"bytes".Buffer) @"bytes".grow (@"bytes".n·3 int) (? int) |
| func (@"bytes".b·3 *@"bytes".Buffer "esc:0x1") @"bytes".readSlice (@"bytes".delim·4 byte) (@"bytes".line·1 []byte, @"bytes".err·2 error) |
| type @"".ResponseRecorder struct { Code int; HeaderMap @"net/http".Header; Body *@"bytes".Buffer; Flushed bool; @"".wroteHeader bool } |
| func (@"".rw·1 *@"".ResponseRecorder "esc:0x0") Flush () |
| func (@"".rw·2 *@"".ResponseRecorder) Header () (? @"net/http".Header) { var @"".m·3 @"net/http".Header; @"".m·3 = @"".rw·2.HeaderMap; if @"".m·3 == nil { @"".m·3 = make(@"net/http".Header, 0x0); @"".rw·2.HeaderMap = @"".m·3 }; return @"".m·3 } |
| func (@"".rw·3 *@"".ResponseRecorder) Write (@"".buf·4 []byte "esc:0x0") (? int, ? error) |
| func (@"".rw·1 *@"".ResponseRecorder "esc:0x0") WriteHeader (@"".code·2 int) { if !@"".rw·1.@"".wroteHeader { @"".rw·1.Code = @"".code·2 }; @"".rw·1.@"".wroteHeader = true } |
| func @"".NewRecorder () (? *@"".ResponseRecorder) { return (&@"".ResponseRecorder{ HeaderMap:make(@"net/http".Header, 0x0), Body:new(@"bytes".Buffer), Code:0xC8 }) } |
| const @"".DefaultRemoteAddr = "1.2.3.4" |
| type @"net".Addr interface { Network() (? string); String() (? string) } |
| import time "time" // indirect |
| type @"time".zone struct { @"time".name string; @"time".offset int; @"time".isDST bool } |
| type @"time".zoneTrans struct { @"time".when int64; @"time".index uint8; @"time".isstd bool; @"time".isutc bool } |
| type @"time".Location struct { @"time".name string; @"time".zone []@"time".zone; @"time".tx []@"time".zoneTrans; @"time".cacheStart int64; @"time".cacheEnd int64; @"time".cacheZone *@"time".zone } |
| func (@"time".l·2 *@"time".Location "esc:0x0") String () (? string) |
| func (@"time".l·2 *@"time".Location "esc:0x0") @"time".firstZoneUsed () (? bool) |
| func (@"time".l·2 *@"time".Location "esc:0x2") @"time".get () (? *@"time".Location) |
| func (@"time".l·6 *@"time".Location "esc:0x1") @"time".lookup (@"time".sec·7 int64) (@"time".name·1 string, @"time".offset·2 int, @"time".isDST·3 bool, @"time".start·4 int64, @"time".end·5 int64) |
| func (@"time".l·2 *@"time".Location "esc:0x0") @"time".lookupFirstZone () (? int) |
| func (@"time".l·4 *@"time".Location "esc:0x0") @"time".lookupName (@"time".name·5 string "esc:0x0", @"time".unix·6 int64) (@"time".offset·1 int, @"time".isDST·2 bool, @"time".ok·3 bool) |
| type @"time".Duration int64 |
| func (@"time".d·2 @"time".Duration) Hours () (? float64) { var @"time".hour·3 @"time".Duration; ; @"time".hour·3 = @"time".d·2 / @"time".Duration(0x34630B8A000); var @"time".nsec·4 @"time".Duration; ; @"time".nsec·4 = @"time".d·2 % @"time".Duration(0x34630B8A000); return float64(@"time".hour·3) + float64(@"time".nsec·4) * 0x9C5FFF26ED75Fp-93 } |
| func (@"time".d·2 @"time".Duration) Minutes () (? float64) { var @"time".min·3 @"time".Duration; ; @"time".min·3 = @"time".d·2 / @"time".Duration(0xDF8475800); var @"time".nsec·4 @"time".Duration; ; @"time".nsec·4 = @"time".d·2 % @"time".Duration(0xDF8475800); return float64(@"time".min·3) + float64(@"time".nsec·4) * 0x9299FF347E9E9p-87 } |
| func (@"time".d·2 @"time".Duration) Nanoseconds () (? int64) { return int64(@"time".d·2) } |
| func (@"time".d·2 @"time".Duration) Seconds () (? float64) { var @"time".sec·3 @"time".Duration; ; @"time".sec·3 = @"time".d·2 / @"time".Duration(0x3B9ACA00); var @"time".nsec·4 @"time".Duration; ; @"time".nsec·4 = @"time".d·2 % @"time".Duration(0x3B9ACA00); return float64(@"time".sec·3) + float64(@"time".nsec·4) * 0x112E0BE826D695p-82 } |
| func (@"time".d·2 @"time".Duration) String () (? string) |
| type @"time".Month int |
| func (@"time".m·2 @"time".Month) String () (? string) { return @"time".months[@"time".m·2 - @"time".Month(0x1)] } |
| type @"time".Weekday int |
| func (@"time".d·2 @"time".Weekday) String () (? string) { return @"time".days[@"time".d·2] } |
| type @"time".Time struct { @"time".sec int64; @"time".nsec int32; @"time".loc *@"time".Location } |
| func (@"time".t·2 @"time".Time "esc:0x2") Add (@"time".d·3 @"time".Duration) (? @"time".Time) |
| func (@"time".t·2 @"time".Time "esc:0x2") AddDate (@"time".years·3 int, @"time".months·4 int, @"time".days·5 int) (? @"time".Time) |
| func (@"time".t·2 @"time".Time "esc:0x0") After (@"time".u·3 @"time".Time "esc:0x0") (? bool) { return @"time".t·2.@"time".sec > @"time".u·3.@"time".sec || @"time".t·2.@"time".sec == @"time".u·3.@"time".sec && @"time".t·2.@"time".nsec > @"time".u·3.@"time".nsec } |
| func (@"time".t·2 @"time".Time "esc:0x0") Before (@"time".u·3 @"time".Time "esc:0x0") (? bool) { return @"time".t·2.@"time".sec < @"time".u·3.@"time".sec || @"time".t·2.@"time".sec == @"time".u·3.@"time".sec && @"time".t·2.@"time".nsec < @"time".u·3.@"time".nsec } |
| func (@"time".t·4 @"time".Time "esc:0x0") Clock () (@"time".hour·1 int, @"time".min·2 int, @"time".sec·3 int) |
| func (@"time".t·4 @"time".Time "esc:0x0") Date () (@"time".year·1 int, @"time".month·2 @"time".Month, @"time".day·3 int) |
| func (@"time".t·2 @"time".Time "esc:0x0") Day () (? int) |
| func (@"time".t·2 @"time".Time "esc:0x0") Equal (@"time".u·3 @"time".Time "esc:0x0") (? bool) { return @"time".t·2.@"time".sec == @"time".u·3.@"time".sec && @"time".t·2.@"time".nsec == @"time".u·3.@"time".nsec } |
| func (@"time".t·2 @"time".Time "esc:0x0") Format (@"time".layout·3 string "esc:0x0") (? string) |
| func (@"time".t·2 *@"time".Time "esc:0x0") GobDecode (@"time".data·3 []byte "esc:0x0") (? error) |
| func (@"time".t·3 @"time".Time "esc:0x0") GobEncode () (? []byte, ? error) |
| func (@"time".t·2 @"time".Time "esc:0x0") Hour () (? int) |
| func (@"time".t·3 @"time".Time "esc:0x0") ISOWeek () (@"time".year·1 int, @"time".week·2 int) |
| func (@"time".t·2 @"time".Time "esc:0x2") In (@"time".loc·3 *@"time".Location "esc:0x2") (? @"time".Time) |
| func (@"time".t·2 @"time".Time "esc:0x0") IsZero () (? bool) { return @"time".t·2.@"time".sec == 0x0 && @"time".t·2.@"time".nsec == 0x0 } |
| func (@"time".t·2 @"time".Time "esc:0x2") Local () (? @"time".Time) { @"time".t·2.@"time".loc = @"time".Local; return @"time".t·2 } |
| func (@"time".t·2 @"time".Time "esc:0x2") Location () (? *@"time".Location) { var @"time".l·3 *@"time".Location; ; @"time".l·3 = @"time".t·2.@"time".loc; if @"time".l·3 == nil { @"time".l·3 = @"time".UTC }; return @"time".l·3 } |
| func (@"time".t·3 @"time".Time "esc:0x0") MarshalBinary () (? []byte, ? error) |
| func (@"time".t·3 @"time".Time "esc:0x0") MarshalJSON () (? []byte, ? error) |
| func (@"time".t·3 @"time".Time "esc:0x0") MarshalText () (? []byte, ? error) |
| func (@"time".t·2 @"time".Time "esc:0x0") Minute () (? int) |
| func (@"time".t·2 @"time".Time "esc:0x0") Month () (? @"time".Month) |
| func (@"time".t·2 @"time".Time "esc:0x0") Nanosecond () (? int) { return int(@"time".t·2.@"time".nsec) } |
| func (@"time".t·2 @"time".Time "esc:0x2") Round (@"time".d·3 @"time".Duration) (? @"time".Time) |
| func (@"time".t·2 @"time".Time "esc:0x0") Second () (? int) |
| func (@"time".t·2 @"time".Time "esc:0x0") String () (? string) |
| func (@"time".t·2 @"time".Time "esc:0x0") Sub (@"time".u·3 @"time".Time "esc:0x0") (? @"time".Duration) |
| func (@"time".t·2 @"time".Time "esc:0x2") Truncate (@"time".d·3 @"time".Duration) (? @"time".Time) |
| func (@"time".t·2 @"time".Time "esc:0x2") UTC () (? @"time".Time) { @"time".t·2.@"time".loc = @"time".UTC; return @"time".t·2 } |
| func (@"time".t·2 @"time".Time "esc:0x0") Unix () (? int64) { return @"time".t·2.@"time".sec + -0xE7791F700 } |
| func (@"time".t·2 @"time".Time "esc:0x0") UnixNano () (? int64) { return (@"time".t·2.@"time".sec + -0xE7791F700) * 0x3B9ACA00 + int64(@"time".t·2.@"time".nsec) } |
| func (@"time".t·2 *@"time".Time "esc:0x0") UnmarshalBinary (@"time".data·3 []byte "esc:0x0") (? error) |
| func (@"time".t·2 *@"time".Time "esc:0x0") UnmarshalJSON (@"time".data·3 []byte "esc:0x0") (@"time".err·1 error) |
| func (@"time".t·2 *@"time".Time "esc:0x0") UnmarshalText (@"time".data·3 []byte "esc:0x0") (@"time".err·1 error) |
| func (@"time".t·2 @"time".Time "esc:0x0") Weekday () (? @"time".Weekday) |
| func (@"time".t·2 @"time".Time "esc:0x0") Year () (? int) |
| func (@"time".t·2 @"time".Time "esc:0x0") YearDay () (? int) |
| func (@"time".t·3 @"time".Time "esc:0x0") Zone () (@"time".name·1 string, @"time".offset·2 int) |
| func (@"time".t·2 @"time".Time "esc:0x0") @"time".abs () (? uint64) |
| func (@"time".t·5 @"time".Time "esc:0x0") @"time".date (@"time".full·6 bool) (@"time".year·1 int, @"time".month·2 @"time".Month, @"time".day·3 int, @"time".yday·4 int) |
| func (@"time".t·4 @"time".Time "esc:0x1") @"time".locabs () (@"time".name·1 string, @"time".offset·2 int, @"time".abs·3 uint64) |
| type @"net".Conn interface { Close() (? error); LocalAddr() (? @"net".Addr); Read(@"net".b []byte) (@"net".n int, @"net".err error); RemoteAddr() (? @"net".Addr); SetDeadline(@"net".t @"time".Time) (? error); SetReadDeadline(@"net".t @"time".Time) (? error); SetWriteDeadline(@"net".t @"time".Time) (? error); Write(@"net".b []byte) (@"net".n int, @"net".err error) } |
| type @"net".Listener interface { Accept() (@"net".c @"net".Conn, @"net".err error); Addr() (? @"net".Addr); Close() (? error) } |
| import crypto "crypto" // indirect |
| type @"crypto".PrivateKey interface {} |
| import x509 "crypto/x509" // indirect |
| type @"crypto/x509".SignatureAlgorithm int |
| type @"crypto/x509".PublicKeyAlgorithm int |
| import big "math/big" // indirect |
| type @"math/big".Word uintptr |
| type @"math/big".divisor struct { @"math/big".bbb @"math/big".nat; @"math/big".nbits int; @"math/big".ndigits int } |
| import rand "math/rand" // indirect |
| type @"math/rand".Source interface { Int63() (? int64); Seed(@"math/rand".seed int64) } |
| type @"math/rand".Rand struct { @"math/rand".src @"math/rand".Source } |
| func (@"math/rand".r·2 *@"math/rand".Rand) ExpFloat64 () (? float64) |
| func (@"math/rand".r·2 *@"math/rand".Rand) Float32 () (? float32) |
| func (@"math/rand".r·2 *@"math/rand".Rand) Float64 () (? float64) |
| func (@"math/rand".r·2 *@"math/rand".Rand) Int () (? int) |
| func (@"math/rand".r·2 *@"math/rand".Rand) Int31 () (? int32) |
| func (@"math/rand".r·2 *@"math/rand".Rand) Int31n (@"math/rand".n·3 int32) (? int32) |
| func (@"math/rand".r·2 *@"math/rand".Rand) Int63 () (? int64) |
| func (@"math/rand".r·2 *@"math/rand".Rand) Int63n (@"math/rand".n·3 int64) (? int64) |
| func (@"math/rand".r·2 *@"math/rand".Rand) Intn (@"math/rand".n·3 int) (? int) |
| func (@"math/rand".r·2 *@"math/rand".Rand) NormFloat64 () (? float64) |
| func (@"math/rand".r·2 *@"math/rand".Rand) Perm (@"math/rand".n·3 int) (? []int) |
| func (@"math/rand".r·1 *@"math/rand".Rand) Seed (@"math/rand".seed·2 int64) |
| func (@"math/rand".r·2 *@"math/rand".Rand) Uint32 () (? uint32) |
| type @"io".RuneScanner interface { ReadRune() (@"io".r rune, @"io".size int, @"io".err error); UnreadRune() (? error) } |
| type @"math/big".nat []@"math/big".Word |
| func (@"math/big".z·2 @"math/big".nat) @"math/big".add (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat) (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".and (@"math/big".x·3 @"math/big".nat "esc:0x0", @"math/big".y·4 @"math/big".nat "esc:0x0") (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".andNot (@"math/big".x·3 @"math/big".nat "esc:0x0", @"math/big".y·4 @"math/big".nat "esc:0x0") (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x0") @"math/big".bit (@"math/big".i·3 uint) (? uint) { var @"math/big".j·4 int; ; @"math/big".j·4 = int(@"math/big".i·3 / 0x40); if @"math/big".j·4 >= len(@"math/big".z·2) { return 0x0 }; return uint(@"math/big".z·2[@"math/big".j·4] >> (@"math/big".i·3 % 0x40) & @"math/big".Word(0x1)) } |
| func (@"math/big".x·2 @"math/big".nat "esc:0x0") @"math/big".bitLen () (? int) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x0") @"math/big".bytes (@"math/big".buf·3 []byte "esc:0x0") (@"math/big".i·1 int) |
| func (@"math/big".z·1 @"math/big".nat "esc:0x0") @"math/big".clear () |
| func (@"math/big".x·2 @"math/big".nat "esc:0x0") @"math/big".cmp (@"math/big".y·3 @"math/big".nat "esc:0x0") (@"math/big".r·1 int) |
| func (@"math/big".q·1 @"math/big".nat) @"math/big".convertWords (@"math/big".s·2 []byte "esc:0x0", @"math/big".charset·3 string "esc:0x0", @"math/big".b·4 @"math/big".Word, @"math/big".ndigits·5 int, @"math/big".bb·6 @"math/big".Word, @"math/big".table·7 []@"math/big".divisor "esc:0x0") |
| func (@"math/big".x·2 @"math/big".nat "esc:0x0") @"math/big".decimalString () (? string) |
| func (@"math/big".z·3 @"math/big".nat) @"math/big".div (@"math/big".z2·4 @"math/big".nat, @"math/big".u·5 @"math/big".nat, @"math/big".v·6 @"math/big".nat) (@"math/big".q·1 @"math/big".nat, @"math/big".r·2 @"math/big".nat) |
| func (@"math/big".z·3 @"math/big".nat "esc:0x2") @"math/big".divLarge (@"math/big".u·4 @"math/big".nat, @"math/big".uIn·5 @"math/big".nat, @"math/big".v·6 @"math/big".nat) (@"math/big".q·1 @"math/big".nat, @"math/big".r·2 @"math/big".nat) |
| func (@"math/big".z·3 @"math/big".nat) @"math/big".divW (@"math/big".x·4 @"math/big".nat, @"math/big".y·5 @"math/big".Word) (@"math/big".q·1 @"math/big".nat, @"math/big".r·2 @"math/big".Word) |
| func (@"math/big".z·2 @"math/big".nat) @"math/big".expNN (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat "esc:0x0", @"math/big".m·5 @"math/big".nat) (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat) @"math/big".expNNWindowed (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat "esc:0x0", @"math/big".m·5 @"math/big".nat) (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat) @"math/big".expWW (@"math/big".x·3 @"math/big".Word, @"math/big".y·4 @"math/big".Word) (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".make (@"math/big".n·3 int) (? @"math/big".nat) |
| func (@"math/big".x·2 @"math/big".nat) @"math/big".modW (@"math/big".d·3 @"math/big".Word) (@"math/big".r·1 @"math/big".Word) |
| func (@"math/big".z·2 @"math/big".nat) @"math/big".mul (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat) (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat) @"math/big".mulAddWW (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".Word, @"math/big".r·5 @"math/big".Word) (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat) @"math/big".mulRange (@"math/big".a·3 uint64, @"math/big".b·4 uint64) (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".norm () (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".or (@"math/big".x·3 @"math/big".nat "esc:0x0", @"math/big".y·4 @"math/big".nat "esc:0x0") (? @"math/big".nat) |
| func (@"math/big".n·2 @"math/big".nat) @"math/big".probablyPrime (@"math/big".reps·3 int) (? bool) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".random (@"math/big".rand·3 *@"math/rand".Rand, @"math/big".limit·4 @"math/big".nat "esc:0x0", @"math/big".n·5 int) (? @"math/big".nat) |
| func (@"math/big".z·4 @"math/big".nat) @"math/big".scan (@"math/big".r·5 @"io".RuneScanner, @"math/big".base·6 int) (? @"math/big".nat, ? int, ? error) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".set (@"math/big".x·3 @"math/big".nat "esc:0x0") (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".setBit (@"math/big".x·3 @"math/big".nat "esc:0x0", @"math/big".i·4 uint, @"math/big".b·5 uint) (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".setBytes (@"math/big".buf·3 []byte "esc:0x0") (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".setUint64 (@"math/big".x·3 uint64) (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".setWord (@"math/big".x·3 @"math/big".Word) (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat) @"math/big".shl (@"math/big".x·3 @"math/big".nat, @"math/big".s·4 uint) (? @"math/big".nat) |
| func (@"math/big".z·2 @"math/big".nat) @"math/big".shr (@"math/big".x·3 @"math/big".nat, @"math/big".s·4 uint) (? @"math/big".nat) |
| func (@"math/big".x·2 @"math/big".nat "esc:0x0") @"math/big".string (@"math/big".charset·3 string "esc:0x0") (? string) |
| func (@"math/big".z·2 @"math/big".nat) @"math/big".sub (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat) (? @"math/big".nat) |
| func (@"math/big".x·2 @"math/big".nat "esc:0x0") @"math/big".trailingZeroBits () (? uint) |
| func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".xor (@"math/big".x·3 @"math/big".nat "esc:0x0", @"math/big".y·4 @"math/big".nat "esc:0x0") (? @"math/big".nat) |
| type @"fmt".State interface { Flag(@"fmt".c int) (? bool); Precision() (@"fmt".prec int, @"fmt".ok bool); Width() (@"fmt".wid int, @"fmt".ok bool); Write(@"fmt".b []byte) (@"fmt".ret int, @"fmt".err error) } |
| type @"fmt".ScanState interface { Read(@"fmt".buf []byte) (@"fmt".n int, @"fmt".err error); ReadRune() (@"fmt".r rune, @"fmt".size int, @"fmt".err error); SkipSpace(); Token(@"fmt".skipSpace bool, @"fmt".f func(? rune) (? bool)) (@"fmt".token []byte, @"fmt".err error); UnreadRune() (? error); Width() (@"fmt".wid int, @"fmt".ok bool) } |
| type @"math/big".Int struct { @"math/big".neg bool; @"math/big".abs @"math/big".nat } |
| func (@"math/big".z·2 *@"math/big".Int) Abs (@"math/big".x·3 *@"math/big".Int "esc:0x0") (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) Add (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) And (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) AndNot (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) Binomial (@"math/big".n·3 int64, @"math/big".k·4 int64) (? *@"math/big".Int) |
| func (@"math/big".x·2 *@"math/big".Int) Bit (@"math/big".i·3 int) (? uint) |
| func (@"math/big".x·2 *@"math/big".Int "esc:0x0") BitLen () (? int) |
| func (@"math/big".x·2 *@"math/big".Int "esc:0x1") Bits () (? []@"math/big".Word) { return @"math/big".x·2.@"math/big".abs } |
| func (@"math/big".x·2 *@"math/big".Int "esc:0x0") Bytes () (? []byte) |
| func (@"math/big".x·2 *@"math/big".Int "esc:0x0") Cmp (@"math/big".y·3 *@"math/big".Int "esc:0x0") (@"math/big".r·1 int) |
| func (@"math/big".z·2 *@"math/big".Int) Div (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·3 *@"math/big".Int) DivMod (@"math/big".x·4 *@"math/big".Int, @"math/big".y·5 *@"math/big".Int, @"math/big".m·6 *@"math/big".Int) (? *@"math/big".Int, ? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) Exp (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int "esc:0x0", @"math/big".m·5 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".x·1 *@"math/big".Int "esc:0x0") Format (@"math/big".s·2 @"fmt".State, @"math/big".ch·3 rune) |
| func (@"math/big".z·2 *@"math/big".Int) GCD (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int, @"math/big".a·5 *@"math/big".Int, @"math/big".b·6 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) GobDecode (@"math/big".buf·3 []byte "esc:0x0") (? error) |
| func (@"math/big".x·3 *@"math/big".Int "esc:0x0") GobEncode () (? []byte, ? error) |
| func (@"math/big".x·2 *@"math/big".Int "esc:0x0") Int64 () (? int64) |
| func (@"math/big".z·2 *@"math/big".Int) Lsh (@"math/big".x·3 *@"math/big".Int, @"math/big".n·4 uint) (? *@"math/big".Int) |
| func (@"math/big".z·3 *@"math/big".Int "esc:0x0") MarshalJSON () (? []byte, ? error) |
| func (@"math/big".z·3 *@"math/big".Int "esc:0x0") MarshalText () (@"math/big".text·1 []byte, @"math/big".err·2 error) |
| func (@"math/big".z·2 *@"math/big".Int) Mod (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) ModInverse (@"math/big".g·3 *@"math/big".Int, @"math/big".n·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) Mul (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) MulRange (@"math/big".a·3 int64, @"math/big".b·4 int64) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) Neg (@"math/big".x·3 *@"math/big".Int "esc:0x0") (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) Not (@"math/big".x·3 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) Or (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".x·2 *@"math/big".Int) ProbablyPrime (@"math/big".n·3 int) (? bool) |
| func (@"math/big".z·2 *@"math/big".Int) Quo (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·3 *@"math/big".Int) QuoRem (@"math/big".x·4 *@"math/big".Int, @"math/big".y·5 *@"math/big".Int, @"math/big".r·6 *@"math/big".Int) (? *@"math/big".Int, ? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) Rand (@"math/big".rnd·3 *@"math/rand".Rand, @"math/big".n·4 *@"math/big".Int "esc:0x0") (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) Rem (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) Rsh (@"math/big".x·3 *@"math/big".Int, @"math/big".n·4 uint) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) Scan (@"math/big".s·3 @"fmt".ScanState, @"math/big".ch·4 rune) (? error) |
| func (@"math/big".z·2 *@"math/big".Int) Set (@"math/big".x·3 *@"math/big".Int "esc:0x0") (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) SetBit (@"math/big".x·3 *@"math/big".Int, @"math/big".i·4 int, @"math/big".b·5 uint) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int "esc:0x2") SetBits (@"math/big".abs·3 []@"math/big".Word) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) SetBytes (@"math/big".buf·3 []byte "esc:0x0") (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) SetInt64 (@"math/big".x·3 int64) (? *@"math/big".Int) |
| func (@"math/big".z·3 *@"math/big".Int) SetString (@"math/big".s·4 string, @"math/big".base·5 int) (? *@"math/big".Int, ? bool) |
| func (@"math/big".z·2 *@"math/big".Int) SetUint64 (@"math/big".x·3 uint64) (? *@"math/big".Int) |
| func (@"math/big".x·2 *@"math/big".Int "esc:0x0") Sign () (? int) { if len(@"math/big".x·2.@"math/big".abs) == 0x0 { return 0x0 }; if @"math/big".x·2.@"math/big".neg { return -0x1 }; return 0x1 } |
| func (@"math/big".x·2 *@"math/big".Int "esc:0x0") String () (? string) |
| func (@"math/big".z·2 *@"math/big".Int) Sub (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".x·2 *@"math/big".Int "esc:0x0") Uint64 () (? uint64) |
| func (@"math/big".z·2 *@"math/big".Int) UnmarshalJSON (@"math/big".text·3 []byte) (? error) |
| func (@"math/big".z·2 *@"math/big".Int) UnmarshalText (@"math/big".text·3 []byte) (? error) |
| func (@"math/big".z·2 *@"math/big".Int) Xor (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·2 *@"math/big".Int) @"math/big".binaryGCD (@"math/big".a·3 *@"math/big".Int, @"math/big".b·4 *@"math/big".Int) (? *@"math/big".Int) |
| func (@"math/big".z·4 *@"math/big".Int) @"math/big".scan (@"math/big".r·5 @"io".RuneScanner, @"math/big".base·6 int) (? *@"math/big".Int, ? int, ? error) |
| import pkix "crypto/x509/pkix" // indirect |
| import asn1 "encoding/asn1" // indirect |
| type @"encoding/asn1".ObjectIdentifier []int |
| func (@"encoding/asn1".oi·2 @"encoding/asn1".ObjectIdentifier "esc:0x0") Equal (@"encoding/asn1".other·3 @"encoding/asn1".ObjectIdentifier "esc:0x0") (? bool) |
| func (@"encoding/asn1".oi·2 @"encoding/asn1".ObjectIdentifier "esc:0x0") String () (? string) |
| type @"crypto/x509/pkix".AttributeTypeAndValue struct { Type @"encoding/asn1".ObjectIdentifier; Value interface {} } |
| type @"crypto/x509/pkix".RelativeDistinguishedNameSET []@"crypto/x509/pkix".AttributeTypeAndValue |
| type @"crypto/x509/pkix".RDNSequence []@"crypto/x509/pkix".RelativeDistinguishedNameSET |
| type @"crypto/x509/pkix".Name struct { Country []string; Organization []string; OrganizationalUnit []string; Locality []string; Province []string; StreetAddress []string; PostalCode []string; SerialNumber string; CommonName string; Names []@"crypto/x509/pkix".AttributeTypeAndValue } |
| func (@"crypto/x509/pkix".n·1 *@"crypto/x509/pkix".Name) FillFromRDNSequence (@"crypto/x509/pkix".rdns·2 *@"crypto/x509/pkix".RDNSequence "esc:0x0") |
| func (@"crypto/x509/pkix".n·2 @"crypto/x509/pkix".Name) ToRDNSequence () (@"crypto/x509/pkix".ret·1 @"crypto/x509/pkix".RDNSequence) |
| type @"crypto/x509".KeyUsage int |
| type @"crypto/x509/pkix".Extension struct { Id @"encoding/asn1".ObjectIdentifier; Critical bool "asn1:\"optional\""; Value []byte } |
| type @"crypto/x509".ExtKeyUsage int |
| type @"net".IPMask []byte |
| func (@"net".m·3 @"net".IPMask "esc:0x0") Size () (@"net".ones·1 int, @"net".bits·2 int) |
| func (@"net".m·2 @"net".IPMask "esc:0x0") String () (? string) |
| type @"net".IP []byte |
| func (@"net".ip·2 @"net".IP "esc:0x0") DefaultMask () (? @"net".IPMask) |
| func (@"net".ip·2 @"net".IP "esc:0x0") Equal (@"net".x·3 @"net".IP "esc:0x0") (? bool) |
| func (@"net".ip·2 @"net".IP "esc:0x0") IsGlobalUnicast () (? bool) |
| func (@"net".ip·2 @"net".IP "esc:0x0") IsInterfaceLocalMulticast () (? bool) { return len(@"net".ip·2) == 0x10 && @"net".ip·2[0x0] == byte(0xFF) && @"net".ip·2[0x1] & byte(0xF) == byte(0x1) } |
| func (@"net".ip·2 @"net".IP "esc:0x0") IsLinkLocalMulticast () (? bool) |
| func (@"net".ip·2 @"net".IP "esc:0x0") IsLinkLocalUnicast () (? bool) |
| func (@"net".ip·2 @"net".IP "esc:0x0") IsLoopback () (? bool) |
| func (@"net".ip·2 @"net".IP "esc:0x0") IsMulticast () (? bool) |
| func (@"net".ip·2 @"net".IP "esc:0x0") IsUnspecified () (? bool) |
| func (@"net".ip·3 @"net".IP "esc:0x0") MarshalText () (? []byte, ? error) |
| func (@"net".ip·2 @"net".IP "esc:0x0") Mask (@"net".mask·3 @"net".IPMask "esc:0x0") (? @"net".IP) |
| func (@"net".ip·2 @"net".IP "esc:0x0") String () (? string) |
| func (@"net".ip·2 @"net".IP "esc:0x2") To16 () (? @"net".IP) |
| func (@"net".ip·2 @"net".IP "esc:0x2") To4 () (? @"net".IP) |
| func (@"net".ip·2 *@"net".IP "esc:0x0") UnmarshalText (@"net".text·3 []byte "esc:0x0") (? error) |
| type @"encoding/asn1".RawContent []byte |
| type @"encoding/asn1".RawValue struct { Class int; Tag int; IsCompound bool; Bytes []byte; FullBytes []byte } |
| type @"crypto/x509/pkix".AlgorithmIdentifier struct { Algorithm @"encoding/asn1".ObjectIdentifier; Parameters @"encoding/asn1".RawValue "asn1:\"optional\"" } |
| type @"crypto/x509/pkix".RevokedCertificate struct { SerialNumber *@"math/big".Int; RevocationTime @"time".Time; Extensions []@"crypto/x509/pkix".Extension "asn1:\"optional\"" } |
| type @"crypto/x509/pkix".TBSCertificateList struct { Raw @"encoding/asn1".RawContent; Version int "asn1:\"optional,default:2\""; Signature @"crypto/x509/pkix".AlgorithmIdentifier; Issuer @"crypto/x509/pkix".RDNSequence; ThisUpdate @"time".Time; NextUpdate @"time".Time "asn1:\"optional\""; RevokedCertificates []@"crypto/x509/pkix".RevokedCertificate "asn1:\"optional\""; Extensions []@"crypto/x509/pkix".Extension "asn1:\"tag:0,optional,explicit\"" } |
| type @"encoding/asn1".BitString struct { Bytes []byte; BitLength int } |
| func (@"encoding/asn1".b·2 @"encoding/asn1".BitString "esc:0x0") At (@"encoding/asn1".i·3 int) (? int) { if @"encoding/asn1".i·3 < 0x0 || @"encoding/asn1".i·3 >= @"encoding/asn1".b·2.BitLength { return 0x0 }; var @"encoding/asn1".x·4 int; ; @"encoding/asn1".x·4 = @"encoding/asn1".i·3 / 0x8; var @"encoding/asn1".y·5 uint; ; @"encoding/asn1".y·5 = 0x7 - uint(@"encoding/asn1".i·3 % 0x8); return int(@"encoding/asn1".b·2.Bytes[@"encoding/asn1".x·4] >> @"encoding/asn1".y·5) & 0x1 } |
| func (@"encoding/asn1".b·2 @"encoding/asn1".BitString "esc:0x2") RightAlign () (? []byte) |
| type @"crypto/x509/pkix".CertificateList struct { TBSCertList @"crypto/x509/pkix".TBSCertificateList; SignatureAlgorithm @"crypto/x509/pkix".AlgorithmIdentifier; SignatureValue @"encoding/asn1".BitString } |
| func (@"crypto/x509/pkix".certList·2 *@"crypto/x509/pkix".CertificateList "esc:0x0") HasExpired (@"crypto/x509/pkix".now·3 @"time".Time "esc:0x0") (? bool) |
| type @"crypto/x509".CertPool struct { @"crypto/x509".bySubjectKeyId map[string][]int; @"crypto/x509".byName map[string][]int; @"crypto/x509".certs []*@"crypto/x509".Certificate } |
| func (@"crypto/x509".s·1 *@"crypto/x509".CertPool) AddCert (@"crypto/x509".cert·2 *@"crypto/x509".Certificate) |
| func (@"crypto/x509".s·2 *@"crypto/x509".CertPool) AppendCertsFromPEM (@"crypto/x509".pemCerts·3 []byte) (@"crypto/x509".ok·1 bool) |
| func (@"crypto/x509".s·2 *@"crypto/x509".CertPool "esc:0x0") Subjects () (@"crypto/x509".res·1 [][]byte) |
| func (@"crypto/x509".s·4 *@"crypto/x509".CertPool "esc:0x0") @"crypto/x509".findVerifiedParents (@"crypto/x509".cert·5 *@"crypto/x509".Certificate) (@"crypto/x509".parents·1 []int, @"crypto/x509".errCert·2 *@"crypto/x509".Certificate, @"crypto/x509".err·3 error) |
| type @"crypto/x509".VerifyOptions struct { DNSName string; Intermediates *@"crypto/x509".CertPool; Roots *@"crypto/x509".CertPool; CurrentTime @"time".Time; KeyUsages []@"crypto/x509".ExtKeyUsage } |
| type @"crypto/x509".Certificate struct { Raw []byte; RawTBSCertificate []byte; RawSubjectPublicKeyInfo []byte; RawSubject []byte; RawIssuer []byte; Signature []byte; SignatureAlgorithm @"crypto/x509".SignatureAlgorithm; PublicKeyAlgorithm @"crypto/x509".PublicKeyAlgorithm; PublicKey interface {}; Version int; SerialNumber *@"math/big".Int; Issuer @"crypto/x509/pkix".Name; Subject @"crypto/x509/pkix".Name; NotBefore @"time".Time; NotAfter @"time".Time; KeyUsage @"crypto/x509".KeyUsage; Extensions []@"crypto/x509/pkix".Extension; ExtraExtensions []@"crypto/x509/pkix".Extension; ExtKeyUsage []@"crypto/x509".ExtKeyUsage; UnknownExtKeyUsage []@"encoding/asn1".ObjectIdentifier; BasicConstraintsValid bool; IsCA bool; MaxPathLen int; MaxPathLenZero bool; SubjectKeyId []byte; AuthorityKeyId []byte; OCSPServer []string; IssuingCertificateURL []string; DNSNames []string; EmailAddresses []string; IPAddresses []@"net".IP; PermittedDNSDomainsCritical bool; PermittedDNSDomains []string; CRLDistributionPoints []string; PolicyIdentifiers []@"encoding/asn1".ObjectIdentifier } |
| func (@"crypto/x509".c·2 *@"crypto/x509".Certificate) CheckCRLSignature (@"crypto/x509".crl·3 *@"crypto/x509/pkix".CertificateList) (@"crypto/x509".err·1 error) |
| func (@"crypto/x509".c·2 *@"crypto/x509".Certificate) CheckSignature (@"crypto/x509".algo·3 @"crypto/x509".SignatureAlgorithm, @"crypto/x509".signed·4 []byte, @"crypto/x509".signature·5 []byte) (@"crypto/x509".err·1 error) |
| func (@"crypto/x509".c·2 *@"crypto/x509".Certificate) CheckSignatureFrom (@"crypto/x509".parent·3 *@"crypto/x509".Certificate) (@"crypto/x509".err·1 error) |
| func (@"crypto/x509".c·3 *@"crypto/x509".Certificate) CreateCRL (@"crypto/x509".rand·4 @"io".Reader, @"crypto/x509".priv·5 interface {}, @"crypto/x509".revokedCerts·6 []@"crypto/x509/pkix".RevokedCertificate, @"crypto/x509".now·7 @"time".Time, @"crypto/x509".expiry·8 @"time".Time) (@"crypto/x509".crlBytes·1 []byte, @"crypto/x509".err·2 error) |
| func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x0") Equal (@"crypto/x509".other·3 *@"crypto/x509".Certificate "esc:0x0") (? bool) |
| func (@"crypto/x509".c·3 *@"crypto/x509".Certificate) Verify (@"crypto/x509".opts·4 @"crypto/x509".VerifyOptions "esc:0x4") (@"crypto/x509".chains·1 [][]*@"crypto/x509".Certificate, @"crypto/x509".err·2 error) |
| func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x2") VerifyHostname (@"crypto/x509".h·3 string "esc:0x2") (? error) |
| func (@"crypto/x509".c·3 *@"crypto/x509".Certificate) @"crypto/x509".buildChains (@"crypto/x509".cache·4 map[int][][]*@"crypto/x509".Certificate "esc:0x0", @"crypto/x509".currentChain·5 []*@"crypto/x509".Certificate "esc:0x0", @"crypto/x509".opts·6 *@"crypto/x509".VerifyOptions "esc:0x0") (@"crypto/x509".chains·1 [][]*@"crypto/x509".Certificate, @"crypto/x509".err·2 error) |
| func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x2") @"crypto/x509".isValid (@"crypto/x509".certType·3 int, @"crypto/x509".currentChain·4 []*@"crypto/x509".Certificate "esc:0x0", @"crypto/x509".opts·5 *@"crypto/x509".VerifyOptions "esc:0x0") (? error) |
| func (@"crypto/x509".c·3 *@"crypto/x509".Certificate "esc:0x0") @"crypto/x509".systemVerify (@"crypto/x509".opts·4 *@"crypto/x509".VerifyOptions "esc:0x0") (@"crypto/x509".chains·1 [][]*@"crypto/x509".Certificate, @"crypto/x509".err·2 error) { return nil, nil } |
| type @"crypto/tls".Certificate struct { Certificate [][]byte; PrivateKey @"crypto".PrivateKey; OCSPStaple []byte; Leaf *@"crypto/x509".Certificate } |
| type @"crypto/tls".CurveID uint16 |
| type @"crypto/tls".ClientHelloInfo struct { CipherSuites []uint16; ServerName string; SupportedCurves []@"crypto/tls".CurveID; SupportedPoints []uint8 } |
| type @"crypto/tls".ClientAuthType int |
| type @"crypto/tls".ClientSessionState struct { @"crypto/tls".sessionTicket []uint8; @"crypto/tls".vers uint16; @"crypto/tls".cipherSuite uint16; @"crypto/tls".masterSecret []byte; @"crypto/tls".serverCertificates []*@"crypto/x509".Certificate } |
| type @"crypto/tls".ClientSessionCache interface { Get(@"crypto/tls".sessionKey string) (@"crypto/tls".session *@"crypto/tls".ClientSessionState, @"crypto/tls".ok bool); Put(@"crypto/tls".sessionKey string, @"crypto/tls".cs *@"crypto/tls".ClientSessionState) } |
| type @"sync".Mutex struct { @"sync".state int32; @"sync".sema uint32 } |
| func (@"sync".m·1 *@"sync".Mutex) Lock () |
| func (@"sync".m·1 *@"sync".Mutex) Unlock () |
| type @"sync".Once struct { @"sync".m @"sync".Mutex; @"sync".done uint32 } |
| func (@"sync".o·1 *@"sync".Once) Do (@"sync".f·2 func() "esc:0x0") |
| type @"crypto/tls".Config struct { Rand @"io".Reader; Time func() (? @"time".Time); Certificates []@"crypto/tls".Certificate; NameToCertificate map[string]*@"crypto/tls".Certificate; GetCertificate func(@"crypto/tls".clientHello *@"crypto/tls".ClientHelloInfo) (? *@"crypto/tls".Certificate, ? error); RootCAs *@"crypto/x509".CertPool; NextProtos []string; ServerName string; ClientAuth @"crypto/tls".ClientAuthType; ClientCAs *@"crypto/x509".CertPool; InsecureSkipVerify bool; CipherSuites []uint16; PreferServerCipherSuites bool; SessionTicketsDisabled bool; SessionTicketKey [32]byte; ClientSessionCache @"crypto/tls".ClientSessionCache; MinVersion uint16; MaxVersion uint16; CurvePreferences []@"crypto/tls".CurveID; @"crypto/tls".serverInitOnce @"sync".Once } |
| func (@"crypto/tls".c·1 *@"crypto/tls".Config) BuildNameToCertificate () |
| func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x1") @"crypto/tls".cipherSuites () (? []uint16) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x1") @"crypto/tls".curvePreferences () (? []@"crypto/tls".CurveID) { if @"crypto/tls".c·2 == nil || len(@"crypto/tls".c·2.CurvePreferences) == 0x0 { return @"crypto/tls".defaultCurvePreferences }; return @"crypto/tls".c·2.CurvePreferences } |
| func (@"crypto/tls".c·3 *@"crypto/tls".Config "esc:0x1") @"crypto/tls".getCertificate (@"crypto/tls".clientHello·4 *@"crypto/tls".ClientHelloInfo) (? *@"crypto/tls".Certificate, ? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x0") @"crypto/tls".maxVersion () (? uint16) { if @"crypto/tls".c·2 == nil || @"crypto/tls".c·2.MaxVersion == 0x0 { return 0x303 }; return @"crypto/tls".c·2.MaxVersion } |
| func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x0") @"crypto/tls".minVersion () (? uint16) { if @"crypto/tls".c·2 == nil || @"crypto/tls".c·2.MinVersion == 0x0 { return 0x300 }; return @"crypto/tls".c·2.MinVersion } |
| func (@"crypto/tls".c·3 *@"crypto/tls".Config "esc:0x0") @"crypto/tls".mutualVersion (@"crypto/tls".vers·4 uint16) (? uint16, ? bool) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x1") @"crypto/tls".rand () (? @"io".Reader) { var @"crypto/tls".r·3 @"io".Reader; ; @"crypto/tls".r·3 = @"crypto/tls".c·2.Rand; if @"crypto/tls".r·3 == nil { return @"crypto/rand".Reader }; return @"crypto/tls".r·3 } |
| func (@"crypto/tls".c·1 *@"crypto/tls".Config) @"crypto/tls".serverInit () |
| func (@"crypto/tls".c·2 *@"crypto/tls".Config "esc:0x0") @"crypto/tls".time () (? @"time".Time) |
| type @"net/http".ResponseWriter interface { Header() (? @"net/http".Header); Write(? []byte) (? int, ? error); WriteHeader(? int) } |
| import url "net/url" // indirect |
| type @"net/url".Userinfo struct { @"net/url".username string; @"net/url".password string; @"net/url".passwordSet bool } |
| func (@"net/url".u·3 *@"net/url".Userinfo "esc:0x1") Password () (? string, ? bool) { if @"net/url".u·3.@"net/url".passwordSet { return @"net/url".u·3.@"net/url".password, true }; return "", false } |
| func (@"net/url".u·2 *@"net/url".Userinfo "esc:0x1") String () (? string) |
| func (@"net/url".u·2 *@"net/url".Userinfo "esc:0x1") Username () (? string) { return @"net/url".u·2.@"net/url".username } |
| type @"net/url".Values map[string][]string |
| func (@"net/url".v·1 @"net/url".Values "esc:0x0") Add (@"net/url".key·2 string, @"net/url".value·3 string) { @"net/url".v·1[@"net/url".key·2] = append(@"net/url".v·1[@"net/url".key·2], @"net/url".value·3) } |
| func (@"net/url".v·1 @"net/url".Values "esc:0x0") Del (@"net/url".key·2 string "esc:0x0") { delete(@"net/url".v·1, @"net/url".key·2) } |
| func (@"net/url".v·2 @"net/url".Values "esc:0x0") Encode () (? string) |
| func (@"net/url".v·2 @"net/url".Values "esc:0x0") Get (@"net/url".key·3 string "esc:0x0") (? string) { if @"net/url".v·2 == nil { return "" }; var @"net/url".vs·4 []string; ; var @"net/url".ok·5 bool; ; @"net/url".vs·4, @"net/url".ok·5 = @"net/url".v·2[@"net/url".key·3]; if !@"net/url".ok·5 || len(@"net/url".vs·4) == 0x0 { return "" }; return @"net/url".vs·4[0x0] } |
| func (@"net/url".v·1 @"net/url".Values "esc:0x0") Set (@"net/url".key·2 string, @"net/url".value·3 string) { @"net/url".v·1[@"net/url".key·2] = ([]string{ 0x0:@"net/url".value·3 }) } |
| type @"net/url".URL struct { Scheme string; Opaque string; User *@"net/url".Userinfo; Host string; Path string; RawQuery string; Fragment string } |
| func (@"net/url".u·2 *@"net/url".URL "esc:0x0") IsAbs () (? bool) { return @"net/url".u·2.Scheme != "" } |
| func (@"net/url".u·3 *@"net/url".URL "esc:0x2") Parse (@"net/url".ref·4 string) (? *@"net/url".URL, ? error) |
| func (@"net/url".u·2 *@"net/url".URL) Query () (? @"net/url".Values) |
| func (@"net/url".u·2 *@"net/url".URL "esc:0x1") RequestURI () (? string) |
| func (@"net/url".u·2 *@"net/url".URL "esc:0x2") ResolveReference (@"net/url".ref·3 *@"net/url".URL "esc:0x2") (? *@"net/url".URL) |
| func (@"net/url".u·2 *@"net/url".URL "esc:0x0") String () (? string) |
| type @"io".ReadCloser interface { Close() (? error); Read(@"io".p []byte) (@"io".n int, @"io".err error) } |
| import multipart "mime/multipart" // indirect |
| import textproto "net/textproto" // indirect |
| type @"net/textproto".MIMEHeader map[string][]string |
| func (@"net/textproto".h·1 @"net/textproto".MIMEHeader "esc:0x0") Add (@"net/textproto".key·2 string, @"net/textproto".value·3 string) |
| func (@"net/textproto".h·1 @"net/textproto".MIMEHeader "esc:0x0") Del (@"net/textproto".key·2 string "esc:0x0") |
| func (@"net/textproto".h·2 @"net/textproto".MIMEHeader "esc:0x0") Get (@"net/textproto".key·3 string "esc:0x0") (? string) |
| func (@"net/textproto".h·1 @"net/textproto".MIMEHeader "esc:0x0") Set (@"net/textproto".key·2 string, @"net/textproto".value·3 string) |
| type @"mime/multipart".File interface { Close() (? error); Read(@"io".p []byte) (@"io".n int, @"io".err error); ReadAt(@"io".p []byte, @"io".off int64) (@"io".n int, @"io".err error); Seek(@"io".offset int64, @"io".whence int) (? int64, ? error) } |
| type @"mime/multipart".FileHeader struct { Filename string; Header @"net/textproto".MIMEHeader; @"mime/multipart".content []byte; @"mime/multipart".tmpfile string } |
| func (@"mime/multipart".fh·3 *@"mime/multipart".FileHeader) Open () (? @"mime/multipart".File, ? error) |
| type @"mime/multipart".Form struct { Value map[string][]string; File map[string][]*@"mime/multipart".FileHeader } |
| func (@"mime/multipart".f·2 *@"mime/multipart".Form "esc:0x0") RemoveAll () (? error) |
| type @"crypto/tls".ConnectionState struct { Version uint16; HandshakeComplete bool; DidResume bool; CipherSuite uint16; NegotiatedProtocol string; NegotiatedProtocolIsMutual bool; ServerName string; PeerCertificates []*@"crypto/x509".Certificate; VerifiedChains [][]*@"crypto/x509".Certificate; TLSUnique []byte } |
| type @"net/http".Cookie struct { Name string; Value string; Path string; Domain string; Expires @"time".Time; RawExpires string; MaxAge int; Secure bool; HttpOnly bool; Raw string; Unparsed []string } |
| func (@"net/http".c·2 *@"net/http".Cookie) String () (? string) |
| import bufio "bufio" // indirect |
| type @"bufio".Reader struct { @"bufio".buf []byte; @"bufio".rd @"io".Reader; @"bufio".r int; @"bufio".w int; @"bufio".err error; @"bufio".lastByte int; @"bufio".lastRuneSize int } |
| func (@"bufio".b·2 *@"bufio".Reader "esc:0x0") Buffered () (? int) { return @"bufio".b·2.@"bufio".w - @"bufio".b·2.@"bufio".r } |
| func (@"bufio".b·3 *@"bufio".Reader) Peek (@"bufio".n·4 int) (? []byte, ? error) |
| func (@"bufio".b·3 *@"bufio".Reader) Read (@"bufio".p·4 []byte) (@"bufio".n·1 int, @"bufio".err·2 error) |
| func (@"bufio".b·3 *@"bufio".Reader) ReadByte () (@"bufio".c·1 byte, @"bufio".err·2 error) |
| func (@"bufio".b·3 *@"bufio".Reader) ReadBytes (@"bufio".delim·4 byte) (@"bufio".line·1 []byte, @"bufio".err·2 error) |
| func (@"bufio".b·4 *@"bufio".Reader) ReadLine () (@"bufio".line·1 []byte, @"bufio".isPrefix·2 bool, @"bufio".err·3 error) |
| func (@"bufio".b·4 *@"bufio".Reader) ReadRune () (@"bufio".r·1 rune, @"bufio".size·2 int, @"bufio".err·3 error) |
| func (@"bufio".b·3 *@"bufio".Reader) ReadSlice (@"bufio".delim·4 byte) (@"bufio".line·1 []byte, @"bufio".err·2 error) |
| func (@"bufio".b·3 *@"bufio".Reader) ReadString (@"bufio".delim·4 byte) (@"bufio".line·1 string, @"bufio".err·2 error) |
| func (@"bufio".b·1 *@"bufio".Reader) Reset (@"bufio".r·2 @"io".Reader) |
| func (@"bufio".b·2 *@"bufio".Reader "esc:0x0") UnreadByte () (? error) |
| func (@"bufio".b·2 *@"bufio".Reader "esc:0x0") UnreadRune () (? error) { if @"bufio".b·2.@"bufio".lastRuneSize < 0x0 || @"bufio".b·2.@"bufio".r < @"bufio".b·2.@"bufio".lastRuneSize { return @"bufio".ErrInvalidUnreadRune }; @"bufio".b·2.@"bufio".r -= @"bufio".b·2.@"bufio".lastRuneSize; @"bufio".b·2.@"bufio".lastByte = -0x1; @"bufio".b·2.@"bufio".lastRuneSize = -0x1; return nil } |
| func (@"bufio".b·3 *@"bufio".Reader) WriteTo (@"bufio".w·4 @"io".Writer) (@"bufio".n·1 int64, @"bufio".err·2 error) |
| func (@"bufio".b·1 *@"bufio".Reader) @"bufio".fill () |
| func (@"bufio".b·2 *@"bufio".Reader "esc:0x1") @"bufio".readErr () (? error) { var @"bufio".err·3 error; ; @"bufio".err·3 = @"bufio".b·2.@"bufio".err; @"bufio".b·2.@"bufio".err = nil; return @"bufio".err·3 } |
| func (@"bufio".b·1 *@"bufio".Reader "esc:0x0") @"bufio".reset (@"bufio".buf·2 []byte, @"bufio".r·3 @"io".Reader) { *@"bufio".b·1 = (@"bufio".Reader{ @"bufio".buf:@"bufio".buf·2, @"bufio".rd:@"bufio".r·3, @"bufio".lastByte:-0x1, @"bufio".lastRuneSize:-0x1 }) } |
| func (@"bufio".b·3 *@"bufio".Reader) @"bufio".writeBuf (@"bufio".w·4 @"io".Writer) (? int64, ? error) |
| type @"mime/multipart".Part struct { Header @"net/textproto".MIMEHeader; @"mime/multipart".buffer *@"bytes".Buffer; @"mime/multipart".mr *@"mime/multipart".Reader; @"mime/multipart".bytesRead int; @"mime/multipart".disposition string; @"mime/multipart".dispositionParams map[string]string; @"mime/multipart".r @"io".Reader } |
| func (@"mime/multipart".p·2 *@"mime/multipart".Part) Close () (? error) |
| func (@"mime/multipart".p·2 *@"mime/multipart".Part "esc:0x0") FileName () (? string) |
| func (@"mime/multipart".p·2 *@"mime/multipart".Part "esc:0x0") FormName () (? string) |
| func (@"mime/multipart".p·3 *@"mime/multipart".Part) Read (@"mime/multipart".d·4 []byte) (@"mime/multipart".n·1 int, @"mime/multipart".err·2 error) |
| func (@"mime/multipart".p·1 *@"mime/multipart".Part "esc:0x0") @"mime/multipart".parseContentDisposition () |
| func (@"mime/multipart".bp·2 *@"mime/multipart".Part) @"mime/multipart".populateHeaders () (? error) |
| type @"mime/multipart".Reader struct { @"mime/multipart".bufReader *@"bufio".Reader; @"mime/multipart".currentPart *@"mime/multipart".Part; @"mime/multipart".partsRead int; @"mime/multipart".nl []byte; @"mime/multipart".nlDashBoundary []byte; @"mime/multipart".dashBoundaryDash []byte; @"mime/multipart".dashBoundary []byte } |
| func (@"mime/multipart".r·3 *@"mime/multipart".Reader) NextPart () (? *@"mime/multipart".Part, ? error) |
| func (@"mime/multipart".r·3 *@"mime/multipart".Reader) ReadForm (@"mime/multipart".maxMemory·4 int64) (@"mime/multipart".f·1 *@"mime/multipart".Form, @"mime/multipart".err·2 error) |
| func (@"mime/multipart".mr·2 *@"mime/multipart".Reader) @"mime/multipart".isBoundaryDelimiterLine (@"mime/multipart".line·3 []byte "esc:0x0") (@"mime/multipart".ret·1 bool) |
| func (@"mime/multipart".mr·2 *@"mime/multipart".Reader "esc:0x0") @"mime/multipart".isFinalBoundary (@"mime/multipart".line·3 []byte "esc:0x0") (? bool) |
| func (@"mime/multipart".mr·2 *@"mime/multipart".Reader "esc:0x0") @"mime/multipart".peekBufferIsEmptyPart (@"mime/multipart".peek·3 []byte "esc:0x0") (? bool) |
| type @"net/http".Request struct { Method string; URL *@"net/url".URL; Proto string; ProtoMajor int; ProtoMinor int; Header @"net/http".Header; Body @"io".ReadCloser; ContentLength int64; TransferEncoding []string; Close bool; Host string; Form @"net/url".Values; PostForm @"net/url".Values; MultipartForm *@"mime/multipart".Form; Trailer @"net/http".Header; RemoteAddr string; RequestURI string; TLS *@"crypto/tls".ConnectionState } |
| func (@"net/http".r·1 *@"net/http".Request "esc:0x0") AddCookie (@"net/http".c·2 *@"net/http".Cookie) |
| func (@"net/http".r·4 *@"net/http".Request "esc:0x0") BasicAuth () (@"net/http".username·1 string, @"net/http".password·2 string, @"net/http".ok·3 bool) |
| func (@"net/http".r·3 *@"net/http".Request "esc:0x0") Cookie (@"net/http".name·4 string "esc:0x0") (? *@"net/http".Cookie, ? error) |
| func (@"net/http".r·2 *@"net/http".Request "esc:0x0") Cookies () (? []*@"net/http".Cookie) |
| func (@"net/http".r·4 *@"net/http".Request) FormFile (@"net/http".key·5 string "esc:0x0") (? @"mime/multipart".File, ? *@"mime/multipart".FileHeader, ? error) |
| func (@"net/http".r·2 *@"net/http".Request) FormValue (@"net/http".key·3 string "esc:0x0") (? string) |
| func (@"net/http".r·3 *@"net/http".Request) MultipartReader () (? *@"mime/multipart".Reader, ? error) |
| func (@"net/http".r·2 *@"net/http".Request) ParseForm () (? error) |
| func (@"net/http".r·2 *@"net/http".Request) ParseMultipartForm (@"net/http".maxMemory·3 int64) (? error) |
| func (@"net/http".r·2 *@"net/http".Request) PostFormValue (@"net/http".key·3 string "esc:0x0") (? string) |
| func (@"net/http".r·2 *@"net/http".Request "esc:0x0") ProtoAtLeast (@"net/http".major·3 int, @"net/http".minor·4 int) (? bool) { return @"net/http".r·2.ProtoMajor > @"net/http".major·3 || @"net/http".r·2.ProtoMajor == @"net/http".major·3 && @"net/http".r·2.ProtoMinor >= @"net/http".minor·4 } |
| func (@"net/http".r·2 *@"net/http".Request "esc:0x0") Referer () (? string) |
| func (@"net/http".r·1 *@"net/http".Request "esc:0x0") SetBasicAuth (@"net/http".username·2 string "esc:0x0", @"net/http".password·3 string "esc:0x0") |
| func (@"net/http".r·2 *@"net/http".Request "esc:0x0") UserAgent () (? string) |
| func (@"net/http".r·2 *@"net/http".Request) Write (@"net/http".w·3 @"io".Writer) (? error) |
| func (@"net/http".r·2 *@"net/http".Request) WriteProxy (@"net/http".w·3 @"io".Writer) (? error) |
| func (@"net/http".r·1 *@"net/http".Request) @"net/http".closeBody () |
| func (@"net/http".r·2 *@"net/http".Request "esc:0x0") @"net/http".expectsContinue () (? bool) |
| func (@"net/http".r·3 *@"net/http".Request) @"net/http".multipartReader () (? *@"mime/multipart".Reader, ? error) |
| func (@"net/http".r·2 *@"net/http".Request "esc:0x0") @"net/http".wantsClose () (? bool) |
| func (@"net/http".r·2 *@"net/http".Request "esc:0x0") @"net/http".wantsHttp10KeepAlive () (? bool) |
| func (@"net/http".req·2 *@"net/http".Request) @"net/http".write (@"net/http".w·3 @"io".Writer, @"net/http".usingProxy·4 bool, @"net/http".extraHeaders·5 @"net/http".Header "esc:0x0") (? error) |
| type @"net/http".Handler interface { ServeHTTP(? @"net/http".ResponseWriter, ? *@"net/http".Request) } |
| type @"crypto/tls".macFunction interface { MAC(@"crypto/tls".digestBuf []byte, @"crypto/tls".seq []byte, @"crypto/tls".header []byte, @"crypto/tls".data []byte) (? []byte); Size() (? int) } |
| type @"crypto/tls".block struct { @"crypto/tls".data []byte; @"crypto/tls".off int; @"crypto/tls".link *@"crypto/tls".block } |
| func (@"crypto/tls".b·3 *@"crypto/tls".block "esc:0x0") Read (@"crypto/tls".p·4 []byte "esc:0x0") (@"crypto/tls".n·1 int, @"crypto/tls".err·2 error) { @"crypto/tls".n·1 = copy(@"crypto/tls".p·4, @"crypto/tls".b·3.@"crypto/tls".data[@"crypto/tls".b·3.@"crypto/tls".off:]); @"crypto/tls".b·3.@"crypto/tls".off += @"crypto/tls".n·1; return } |
| func (@"crypto/tls".b·2 *@"crypto/tls".block) @"crypto/tls".readFromUntil (@"crypto/tls".r·3 @"io".Reader, @"crypto/tls".n·4 int) (? error) |
| func (@"crypto/tls".b·1 *@"crypto/tls".block "esc:0x0") @"crypto/tls".reserve (@"crypto/tls".n·2 int) |
| func (@"crypto/tls".b·1 *@"crypto/tls".block) @"crypto/tls".resize (@"crypto/tls".n·2 int) |
| type @"crypto/tls".alert uint8 |
| func (@"crypto/tls".e·2 @"crypto/tls".alert) Error () (? string) |
| func (@"crypto/tls".e·2 @"crypto/tls".alert) String () (? string) |
| type @"crypto/tls".halfConn struct { ? @"sync".Mutex; @"crypto/tls".err error; @"crypto/tls".version uint16; @"crypto/tls".cipher interface {}; @"crypto/tls".mac @"crypto/tls".macFunction; @"crypto/tls".seq [8]byte; @"crypto/tls".bfree *@"crypto/tls".block; @"crypto/tls".nextCipher interface {}; @"crypto/tls".nextMac @"crypto/tls".macFunction; @"crypto/tls".inDigestBuf []byte; @"crypto/tls".outDigestBuf []byte } |
| func (@"crypto/tls".hc·2 *@"crypto/tls".halfConn) @"crypto/tls".changeCipherSpec () (? error) |
| func (@"crypto/tls".hc·4 *@"crypto/tls".halfConn) @"crypto/tls".decrypt (@"crypto/tls".b·5 *@"crypto/tls".block) (@"crypto/tls".ok·1 bool, @"crypto/tls".prefixLen·2 int, @"crypto/tls".alertValue·3 @"crypto/tls".alert) |
| func (@"crypto/tls".hc·3 *@"crypto/tls".halfConn) @"crypto/tls".encrypt (@"crypto/tls".b·4 *@"crypto/tls".block, @"crypto/tls".explicitIVLen·5 int) (? bool, ? @"crypto/tls".alert) |
| func (@"crypto/tls".hc·2 *@"crypto/tls".halfConn) @"crypto/tls".error () (? error) |
| func (@"crypto/tls".hc·1 *@"crypto/tls".halfConn) @"crypto/tls".freeBlock (@"crypto/tls".b·2 *@"crypto/tls".block) { @"crypto/tls".b·2.@"crypto/tls".link = @"crypto/tls".hc·1.@"crypto/tls".bfree; @"crypto/tls".hc·1.@"crypto/tls".bfree = @"crypto/tls".b·2 } |
| func (@"crypto/tls".hc·1 *@"crypto/tls".halfConn "esc:0x0") @"crypto/tls".incSeq () |
| func (@"crypto/tls".hc·2 *@"crypto/tls".halfConn) @"crypto/tls".newBlock () (? *@"crypto/tls".block) |
| func (@"crypto/tls".hc·1 *@"crypto/tls".halfConn "esc:0x0") @"crypto/tls".prepareCipherSpec (@"crypto/tls".version·2 uint16, @"crypto/tls".cipher·3 interface {}, @"crypto/tls".mac·4 @"crypto/tls".macFunction) { @"crypto/tls".hc·1.@"crypto/tls".version = @"crypto/tls".version·2; @"crypto/tls".hc·1.@"crypto/tls".nextCipher = @"crypto/tls".cipher·3; @"crypto/tls".hc·1.@"crypto/tls".nextMac = @"crypto/tls".mac·4 } |
| func (@"crypto/tls".hc·1 *@"crypto/tls".halfConn "esc:0x0") @"crypto/tls".resetSeq () |
| func (@"crypto/tls".hc·2 *@"crypto/tls".halfConn "esc:0x0") @"crypto/tls".setErrorLocked (@"crypto/tls".err·3 error) (? error) { @"crypto/tls".hc·2.@"crypto/tls".err = @"crypto/tls".err·3; return @"crypto/tls".err·3 } |
| func (@"crypto/tls".hc·3 *@"crypto/tls".halfConn) @"crypto/tls".splitBlock (@"crypto/tls".b·4 *@"crypto/tls".block, @"crypto/tls".n·5 int) (? *@"crypto/tls".block, ? *@"crypto/tls".block) |
| type @"crypto/tls".sessionState struct { @"crypto/tls".vers uint16; @"crypto/tls".cipherSuite uint16; @"crypto/tls".masterSecret []byte; @"crypto/tls".certificates [][]byte } |
| func (@"crypto/tls".s·2 *@"crypto/tls".sessionState "esc:0x0") @"crypto/tls".equal (@"crypto/tls".i·3 interface {} "esc:0x0") (? bool) |
| func (@"crypto/tls".s·2 *@"crypto/tls".sessionState "esc:0x0") @"crypto/tls".marshal () (? []byte) |
| func (@"crypto/tls".s·2 *@"crypto/tls".sessionState "esc:0x0") @"crypto/tls".unmarshal (@"crypto/tls".data·3 []byte) (? bool) |
| type @"crypto/tls".recordType uint8 |
| type @"crypto/tls".clientKeyExchangeMsg struct { @"crypto/tls".raw []byte; @"crypto/tls".ciphertext []byte } |
| func (@"crypto/tls".m·2 *@"crypto/tls".clientKeyExchangeMsg "esc:0x0") @"crypto/tls".equal (@"crypto/tls".i·3 interface {} "esc:0x0") (? bool) |
| func (@"crypto/tls".m·2 *@"crypto/tls".clientKeyExchangeMsg "esc:0x1") @"crypto/tls".marshal () (? []byte) |
| func (@"crypto/tls".m·2 *@"crypto/tls".clientKeyExchangeMsg "esc:0x0") @"crypto/tls".unmarshal (@"crypto/tls".data·3 []byte) (? bool) |
| type @"crypto/tls".signatureAndHash struct { @"crypto/tls".hash uint8; @"crypto/tls".signature uint8 } |
| type @"crypto/tls".clientHelloMsg struct { @"crypto/tls".raw []byte; @"crypto/tls".vers uint16; @"crypto/tls".random []byte; @"crypto/tls".sessionId []byte; @"crypto/tls".cipherSuites []uint16; @"crypto/tls".compressionMethods []uint8; @"crypto/tls".nextProtoNeg bool; @"crypto/tls".serverName string; @"crypto/tls".ocspStapling bool; @"crypto/tls".supportedCurves []@"crypto/tls".CurveID; @"crypto/tls".supportedPoints []uint8; @"crypto/tls".ticketSupported bool; @"crypto/tls".sessionTicket []uint8; @"crypto/tls".signatureAndHashes []@"crypto/tls".signatureAndHash; @"crypto/tls".secureRenegotiation bool; @"crypto/tls".alpnProtocols []string } |
| func (@"crypto/tls".m·2 *@"crypto/tls".clientHelloMsg "esc:0x0") @"crypto/tls".equal (@"crypto/tls".i·3 interface {} "esc:0x0") (? bool) |
| func (@"crypto/tls".m·2 *@"crypto/tls".clientHelloMsg "esc:0x1") @"crypto/tls".marshal () (? []byte) |
| func (@"crypto/tls".m·2 *@"crypto/tls".clientHelloMsg) @"crypto/tls".unmarshal (@"crypto/tls".data·3 []byte) (? bool) |
| type @"crypto/tls".serverKeyExchangeMsg struct { @"crypto/tls".raw []byte; @"crypto/tls".key []byte } |
| func (@"crypto/tls".m·2 *@"crypto/tls".serverKeyExchangeMsg "esc:0x0") @"crypto/tls".equal (@"crypto/tls".i·3 interface {} "esc:0x0") (? bool) |
| func (@"crypto/tls".m·2 *@"crypto/tls".serverKeyExchangeMsg "esc:0x1") @"crypto/tls".marshal () (? []byte) |
| func (@"crypto/tls".m·2 *@"crypto/tls".serverKeyExchangeMsg "esc:0x0") @"crypto/tls".unmarshal (@"crypto/tls".data·3 []byte) (? bool) { @"crypto/tls".m·2.@"crypto/tls".raw = @"crypto/tls".data·3; if len(@"crypto/tls".data·3) < 0x4 { return false }; @"crypto/tls".m·2.@"crypto/tls".key = @"crypto/tls".data·3[0x4:]; return true } |
| type @"crypto/tls".serverHelloMsg struct { @"crypto/tls".raw []byte; @"crypto/tls".vers uint16; @"crypto/tls".random []byte; @"crypto/tls".sessionId []byte; @"crypto/tls".cipherSuite uint16; @"crypto/tls".compressionMethod uint8; @"crypto/tls".nextProtoNeg bool; @"crypto/tls".nextProtos []string; @"crypto/tls".ocspStapling bool; @"crypto/tls".ticketSupported bool; @"crypto/tls".secureRenegotiation bool; @"crypto/tls".alpnProtocol string } |
| func (@"crypto/tls".m·2 *@"crypto/tls".serverHelloMsg "esc:0x0") @"crypto/tls".equal (@"crypto/tls".i·3 interface {} "esc:0x0") (? bool) |
| func (@"crypto/tls".m·2 *@"crypto/tls".serverHelloMsg "esc:0x1") @"crypto/tls".marshal () (? []byte) |
| func (@"crypto/tls".m·2 *@"crypto/tls".serverHelloMsg) @"crypto/tls".unmarshal (@"crypto/tls".data·3 []byte) (? bool) |
| type @"crypto/tls".keyAgreement interface { @"crypto/tls".generateClientKeyExchange(? *@"crypto/tls".Config, ? *@"crypto/tls".clientHelloMsg, ? *@"crypto/x509".Certificate) (? []byte, ? *@"crypto/tls".clientKeyExchangeMsg, ? error); @"crypto/tls".generateServerKeyExchange(? *@"crypto/tls".Config, ? *@"crypto/tls".Certificate, ? *@"crypto/tls".clientHelloMsg, ? *@"crypto/tls".serverHelloMsg) (? *@"crypto/tls".serverKeyExchangeMsg, ? error); @"crypto/tls".processClientKeyExchange(? *@"crypto/tls".Config, ? *@"crypto/tls".Certificate, ? *@"crypto/tls".clientKeyExchangeMsg, ? uint16) (? []byte, ? error); @"crypto/tls".processServerKeyExchange(? *@"crypto/tls".Config, ? *@"crypto/tls".clientHelloMsg, ? *@"crypto/tls".serverHelloMsg, ? *@"crypto/x509".Certificate, ? *@"crypto/tls".serverKeyExchangeMsg) (? error) } |
| import cipher "crypto/cipher" // indirect |
| type @"crypto/cipher".AEAD interface { NonceSize() (? int); Open(@"crypto/cipher".dst []byte, @"crypto/cipher".nonce []byte, @"crypto/cipher".ciphertext []byte, @"crypto/cipher".data []byte) (? []byte, ? error); Overhead() (? int); Seal(@"crypto/cipher".dst []byte, @"crypto/cipher".nonce []byte, @"crypto/cipher".plaintext []byte, @"crypto/cipher".data []byte) (? []byte) } |
| type @"crypto/tls".cipherSuite struct { @"crypto/tls".id uint16; @"crypto/tls".keyLen int; @"crypto/tls".macLen int; @"crypto/tls".ivLen int; @"crypto/tls".ka func(@"crypto/tls".version uint16) (? @"crypto/tls".keyAgreement); @"crypto/tls".flags int; @"crypto/tls".cipher func(@"crypto/tls".key []byte, @"crypto/tls".iv []byte, @"crypto/tls".isRead bool) (? interface {}); @"crypto/tls".mac func(@"crypto/tls".version uint16, @"crypto/tls".macKey []byte) (? @"crypto/tls".macFunction); @"crypto/tls".aead func(@"crypto/tls".key []byte, @"crypto/tls".fixedNonce []byte) (? @"crypto/cipher".AEAD) } |
| type @"crypto/tls".Conn struct { @"crypto/tls".conn @"net".Conn; @"crypto/tls".isClient bool; @"crypto/tls".handshakeMutex @"sync".Mutex; @"crypto/tls".handshakeErr error; @"crypto/tls".vers uint16; @"crypto/tls".haveVers bool; @"crypto/tls".config *@"crypto/tls".Config; @"crypto/tls".handshakeComplete bool; @"crypto/tls".didResume bool; @"crypto/tls".cipherSuite uint16; @"crypto/tls".ocspResponse []byte; @"crypto/tls".peerCertificates []*@"crypto/x509".Certificate; @"crypto/tls".verifiedChains [][]*@"crypto/x509".Certificate; @"crypto/tls".serverName string; @"crypto/tls".firstFinished [12]byte; @"crypto/tls".clientProtocol string; @"crypto/tls".clientProtocolFallback bool; @"crypto/tls".in @"crypto/tls".halfConn; @"crypto/tls".out @"crypto/tls".halfConn; @"crypto/tls".rawInput *@"crypto/tls".block; @"crypto/tls".input *@"crypto/tls".block; @"crypto/tls".hand @"bytes".Buffer; @"crypto/tls".tmp [16]byte } |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) Close () (? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) ConnectionState () (? @"crypto/tls".ConnectionState) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) Handshake () (? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) LocalAddr () (? @"net".Addr) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) OCSPResponse () (? []byte) |
| func (@"crypto/tls".c·3 *@"crypto/tls".Conn) Read (@"crypto/tls".b·4 []byte "esc:0x0") (@"crypto/tls".n·1 int, @"crypto/tls".err·2 error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) RemoteAddr () (? @"net".Addr) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) SetDeadline (@"crypto/tls".t·3 @"time".Time) (? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) SetReadDeadline (@"crypto/tls".t·3 @"time".Time) (? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) SetWriteDeadline (@"crypto/tls".t·3 @"time".Time) (? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) VerifyHostname (@"crypto/tls".host·3 string "esc:0x2") (? error) |
| func (@"crypto/tls".c·3 *@"crypto/tls".Conn) Write (@"crypto/tls".b·4 []byte "esc:0x0") (? int, ? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) @"crypto/tls".clientHandshake () (? error) |
| func (@"crypto/tls".c·3 *@"crypto/tls".Conn) @"crypto/tls".decryptTicket (@"crypto/tls".encrypted·4 []byte) (? *@"crypto/tls".sessionState, ? bool) |
| func (@"crypto/tls".c·3 *@"crypto/tls".Conn) @"crypto/tls".encryptTicket (@"crypto/tls".state·4 *@"crypto/tls".sessionState "esc:0x0") (? []byte, ? error) |
| func (@"crypto/tls".c·3 *@"crypto/tls".Conn) @"crypto/tls".readHandshake () (? interface {}, ? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) @"crypto/tls".readRecord (@"crypto/tls".want·3 @"crypto/tls".recordType) (? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) @"crypto/tls".sendAlert (@"crypto/tls".err·3 @"crypto/tls".alert) (? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) @"crypto/tls".sendAlertLocked (@"crypto/tls".err·3 @"crypto/tls".alert) (? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn) @"crypto/tls".serverHandshake () (? error) |
| func (@"crypto/tls".c·2 *@"crypto/tls".Conn "esc:0x0") @"crypto/tls".tryCipherSuite (@"crypto/tls".id·3 uint16, @"crypto/tls".supportedCipherSuites·4 []uint16 "esc:0x0", @"crypto/tls".version·5 uint16, @"crypto/tls".ellipticOk·6 bool, @"crypto/tls".ecdsaOk·7 bool) (? *@"crypto/tls".cipherSuite) |
| func (@"crypto/tls".c·3 *@"crypto/tls".Conn) @"crypto/tls".writeRecord (@"crypto/tls".typ·4 @"crypto/tls".recordType, @"crypto/tls".data·5 []byte "esc:0x0") (@"crypto/tls".n·1 int, @"crypto/tls".err·2 error) |
| type @"net/http".ConnState int |
| func (@"net/http".c·2 @"net/http".ConnState) String () (? string) { return @"net/http".stateName[@"net/http".c·2] } |
| import log "log" // indirect |
| type @"log".Logger struct { @"log".mu @"sync".Mutex; @"log".prefix string; @"log".flag int; @"log".out @"io".Writer; @"log".buf []byte } |
| func (@"log".l·1 *@"log".Logger) Fatal (@"log".v·2 ...interface {} "esc:0x0") |
| func (@"log".l·1 *@"log".Logger) Fatalf (@"log".format·2 string "esc:0x0", @"log".v·3 ...interface {} "esc:0x0") |
| func (@"log".l·1 *@"log".Logger) Fatalln (@"log".v·2 ...interface {} "esc:0x0") |
| func (@"log".l·2 *@"log".Logger) Flags () (? int) |
| func (@"log".l·2 *@"log".Logger) Output (@"log".calldepth·3 int, @"log".s·4 string "esc:0x0") (? error) |
| func (@"log".l·1 *@"log".Logger) Panic (@"log".v·2 ...interface {} "esc:0x0") |
| func (@"log".l·1 *@"log".Logger) Panicf (@"log".format·2 string "esc:0x0", @"log".v·3 ...interface {} "esc:0x0") |
| func (@"log".l·1 *@"log".Logger) Panicln (@"log".v·2 ...interface {} "esc:0x0") |
| func (@"log".l·2 *@"log".Logger) Prefix () (? string) |
| func (@"log".l·1 *@"log".Logger) Print (@"log".v·2 ...interface {} "esc:0x0") |
| func (@"log".l·1 *@"log".Logger) Printf (@"log".format·2 string "esc:0x0", @"log".v·3 ...interface {} "esc:0x0") |
| func (@"log".l·1 *@"log".Logger) Println (@"log".v·2 ...interface {} "esc:0x0") |
| func (@"log".l·1 *@"log".Logger) SetFlags (@"log".flag·2 int) |
| func (@"log".l·1 *@"log".Logger) SetPrefix (@"log".prefix·2 string) |
| func (@"log".l·1 *@"log".Logger "esc:0x0") @"log".formatHeader (@"log".buf·2 *[]byte, @"log".t·3 @"time".Time "esc:0x0", @"log".file·4 string "esc:0x0", @"log".line·5 int) |
| type @"net/http".liveSwitchReader struct { ? @"sync".Mutex; @"net/http".r @"io".Reader } |
| func (@"net/http".sr·3 *@"net/http".liveSwitchReader) Read (@"net/http".p·4 []byte) (@"net/http".n·1 int, @"net/http".err·2 error) |
| type @"io".LimitedReader struct { R @"io".Reader; N int64 } |
| func (@"io".l·3 *@"io".LimitedReader) Read (@"io".p·4 []byte) (@"io".n·1 int, @"io".err·2 error) |
| type @"bufio".Writer struct { @"bufio".err error; @"bufio".buf []byte; @"bufio".n int; @"bufio".wr @"io".Writer } |
| func (@"bufio".b·2 *@"bufio".Writer "esc:0x0") Available () (? int) { return len(@"bufio".b·2.@"bufio".buf) - @"bufio".b·2.@"bufio".n } |
| func (@"bufio".b·2 *@"bufio".Writer "esc:0x0") Buffered () (? int) { return @"bufio".b·2.@"bufio".n } |
| func (@"bufio".b·2 *@"bufio".Writer) Flush () (? error) |
| func (@"bufio".b·3 *@"bufio".Writer) ReadFrom (@"bufio".r·4 @"io".Reader) (@"bufio".n·1 int64, @"bufio".err·2 error) |
| func (@"bufio".b·1 *@"bufio".Writer "esc:0x0") Reset (@"bufio".w·2 @"io".Writer) { @"bufio".b·1.@"bufio".err = nil; @"bufio".b·1.@"bufio".n = 0x0; @"bufio".b·1.@"bufio".wr = @"bufio".w·2 } |
| func (@"bufio".b·3 *@"bufio".Writer) Write (@"bufio".p·4 []byte) (@"bufio".nn·1 int, @"bufio".err·2 error) |
| func (@"bufio".b·2 *@"bufio".Writer) WriteByte (@"bufio".c·3 byte) (? error) |
| func (@"bufio".b·3 *@"bufio".Writer) WriteRune (@"bufio".r·4 rune) (@"bufio".size·1 int, @"bufio".err·2 error) |
| func (@"bufio".b·3 *@"bufio".Writer) WriteString (@"bufio".s·4 string "esc:0x0") (? int, ? error) |
| func (@"bufio".b·2 *@"bufio".Writer) @"bufio".flush () (? error) |
| type @"bufio".ReadWriter struct { ? *@"bufio".Reader; ? *@"bufio".Writer } |
| type @"net/http".chunkWriter struct { @"net/http".res *@"net/http".response; @"net/http".header @"net/http".Header; @"net/http".wroteHeader bool; @"net/http".chunking bool } |
| func (@"net/http".cw·3 *@"net/http".chunkWriter) Write (@"net/http".p·4 []byte) (@"net/http".n·1 int, @"net/http".err·2 error) |
| func (@"net/http".cw·1 *@"net/http".chunkWriter) @"net/http".close () |
| func (@"net/http".cw·1 *@"net/http".chunkWriter) @"net/http".flush () |
| func (@"net/http".cw·1 *@"net/http".chunkWriter) @"net/http".writeHeader (@"net/http".p·2 []byte) |
| type @"net/http".switchWriter struct { ? @"io".Writer } |
| type @"net/http".response struct { @"net/http".conn *@"net/http".conn; @"net/http".req *@"net/http".Request; @"net/http".wroteHeader bool; @"net/http".wroteContinue bool; @"net/http".w *@"bufio".Writer; @"net/http".cw @"net/http".chunkWriter; @"net/http".sw *@"net/http".switchWriter; @"net/http".handlerHeader @"net/http".Header; @"net/http".calledHeader bool; @"net/http".written int64; @"net/http".contentLength int64; @"net/http".status int; @"net/http".closeAfterReply bool; @"net/http".requestBodyLimitHit bool; @"net/http".handlerDone bool; @"net/http".dateBuf [29]byte; @"net/http".clenBuf [10]byte } |
| func (@"net/http".w·2 *@"net/http".response) CloseNotify () (? <-chan bool) |
| func (@"net/http".w·1 *@"net/http".response) Flush () |
| func (@"net/http".w·2 *@"net/http".response "esc:0x1") Header () (? @"net/http".Header) |
| func (@"net/http".w·4 *@"net/http".response) Hijack () (@"net/http".rwc·1 @"net".Conn, @"net/http".buf·2 *@"bufio".ReadWriter, @"net/http".err·3 error) |
| func (@"net/http".w·3 *@"net/http".response) ReadFrom (@"net/http".src·4 @"io".Reader) (@"net/http".n·1 int64, @"net/http".err·2 error) |
| func (@"net/http".w·3 *@"net/http".response) Write (@"net/http".data·4 []byte) (@"net/http".n·1 int, @"net/http".err·2 error) |
| func (@"net/http".w·1 *@"net/http".response) WriteHeader (@"net/http".code·2 int) |
| func (@"net/http".w·3 *@"net/http".response) WriteString (@"net/http".data·4 string "esc:0x0") (@"net/http".n·1 int, @"net/http".err·2 error) |
| func (@"net/http".w·2 *@"net/http".response "esc:0x0") @"net/http".bodyAllowed () (? bool) |
| func (@"net/http".w·1 *@"net/http".response) @"net/http".finishRequest () |
| func (@"net/http".w·2 *@"net/http".response "esc:0x0") @"net/http".needsSniff () (? bool) { var @"net/http".haveType·3 bool; ; _, @"net/http".haveType·3 = @"net/http".w·2.@"net/http".handlerHeader["Content-Type"]; return !@"net/http".w·2.@"net/http".cw.@"net/http".wroteHeader && !@"net/http".haveType·3 && @"net/http".w·2.@"net/http".written < 0x200 } |
| func (@"net/http".w·1 *@"net/http".response "esc:0x0") @"net/http".requestTooLarge () |
| func (@"net/http".w·1 *@"net/http".response) @"net/http".sendExpectationFailed () |
| func (@"net/http".w·3 *@"net/http".response) @"net/http".write (@"net/http".lenData·4 int, @"net/http".dataB·5 []byte, @"net/http".dataS·6 string "esc:0x0") (@"net/http".n·1 int, @"net/http".err·2 error) |
| type @"net/http".conn struct { @"net/http".remoteAddr string; @"net/http".server *@"net/http".Server; @"net/http".rwc @"net".Conn; @"net/http".w @"io".Writer; @"net/http".werr error; @"net/http".sr @"net/http".liveSwitchReader; @"net/http".lr *@"io".LimitedReader; @"net/http".buf *@"bufio".ReadWriter; @"net/http".tlsState *@"crypto/tls".ConnectionState; @"net/http".mu @"sync".Mutex; @"net/http".clientGone bool; @"net/http".closeNotifyc chan bool; @"net/http".hijackedv bool } |
| func (@"net/http".c·1 *@"net/http".conn) @"net/http".close () |
| func (@"net/http".c·2 *@"net/http".conn) @"net/http".closeNotify () (? <-chan bool) |
| func (@"net/http".c·1 *@"net/http".conn) @"net/http".closeWriteAndWait () |
| func (@"net/http".c·1 *@"net/http".conn) @"net/http".finalFlush () |
| func (@"net/http".c·4 *@"net/http".conn) @"net/http".hijack () (@"net/http".rwc·1 @"net".Conn, @"net/http".buf·2 *@"bufio".ReadWriter, @"net/http".err·3 error) |
| func (@"net/http".c·2 *@"net/http".conn) @"net/http".hijacked () (? bool) |
| func (@"net/http".c·1 *@"net/http".conn) @"net/http".noteClientGone () |
| func (@"net/http".c·3 *@"net/http".conn) @"net/http".readRequest () (@"net/http".w·1 *@"net/http".response, @"net/http".err·2 error) |
| func (@"net/http".c·1 *@"net/http".conn) @"net/http".serve () |
| func (@"net/http".c·1 *@"net/http".conn "esc:0x0") @"net/http".setState (@"net/http".nc·2 @"net".Conn, @"net/http".state·3 @"net/http".ConnState) |
| type @"net/http".Server struct { Addr string; Handler @"net/http".Handler; ReadTimeout @"time".Duration; WriteTimeout @"time".Duration; MaxHeaderBytes int; TLSConfig *@"crypto/tls".Config; TLSNextProto map[string]func(? *@"net/http".Server, ? *@"crypto/tls".Conn, ? @"net/http".Handler); ConnState func(? @"net".Conn, ? @"net/http".ConnState); ErrorLog *@"log".Logger; @"net/http".disableKeepAlives int32 } |
| func (@"net/http".srv·2 *@"net/http".Server) ListenAndServe () (? error) |
| func (@"net/http".srv·2 *@"net/http".Server) ListenAndServeTLS (@"net/http".certFile·3 string, @"net/http".keyFile·4 string) (? error) |
| func (@"net/http".srv·2 *@"net/http".Server) Serve (@"net/http".l·3 @"net".Listener) (? error) |
| func (@"net/http".s·1 *@"net/http".Server) SetKeepAlivesEnabled (@"net/http".v·2 bool) |
| func (@"net/http".s·2 *@"net/http".Server) @"net/http".doKeepAlives () (? bool) |
| func (@"net/http".srv·2 *@"net/http".Server "esc:0x0") @"net/http".initialLimitedReaderSize () (? int64) |
| func (@"net/http".s·1 *@"net/http".Server) @"net/http".logf (@"net/http".format·2 string "esc:0x0", @"net/http".args·3 ...interface {} "esc:0x0") |
| func (@"net/http".srv·2 *@"net/http".Server "esc:0x0") @"net/http".maxHeaderBytes () (? int) { if @"net/http".srv·2.MaxHeaderBytes > 0x0 { return @"net/http".srv·2.MaxHeaderBytes }; return 0x100000 } |
| func (@"net/http".srv·3 *@"net/http".Server) @"net/http".newConn (@"net/http".rwc·4 @"net".Conn) (@"net/http".c·1 *@"net/http".conn, @"net/http".err·2 error) |
| type @"sync".WaitGroup struct { @"sync".m @"sync".Mutex; @"sync".counter int32; @"sync".waiters int32; @"sync".sema *uint32 } |
| func (@"sync".wg·1 *@"sync".WaitGroup) Add (@"sync".delta·2 int) |
| func (@"sync".wg·1 *@"sync".WaitGroup) Done () |
| func (@"sync".wg·1 *@"sync".WaitGroup) Wait () |
| type @"".Server struct { URL string; Listener @"net".Listener; TLS *@"crypto/tls".Config; Config *@"net/http".Server; @"".wg @"sync".WaitGroup } |
| func (@"".s·1 *@"".Server) Close () |
| func (@"".s·1 *@"".Server) CloseClientConnections () |
| func (@"".s·1 *@"".Server) Start () |
| func (@"".s·1 *@"".Server) StartTLS () |
| func (@"".s·1 *@"".Server) @"".wrapHandler () { var @"".h·2 @"net/http".Handler; @"".h·2 = @"".s·1.Config.Handler; if @"".h·2 == nil { @"".h·2 = @"net/http".DefaultServeMux }; @"".s·1.Config.Handler = (&@"".waitGroupHandler{ @"".s:@"".s·1, @"".h:@"".h·2 }) } |
| func @"".NewServer (@"".handler·2 @"net/http".Handler) (? *@"".Server) |
| func @"".NewUnstartedServer (@"".handler·2 @"net/http".Handler) (? *@"".Server) |
| func @"".NewTLSServer (@"".handler·2 @"net/http".Handler) (? *@"".Server) |
| func @"".init () |
| var @"time".months [12]string |
| var @"time".days [7]string |
| var @"time".Local *@"time".Location |
| var @"time".UTC *@"time".Location |
| var @"crypto/tls".defaultCurvePreferences []@"crypto/tls".CurveID |
| import rand "crypto/rand" // indirect |
| var @"crypto/rand".Reader @"io".Reader |
| var @"bufio".ErrInvalidUnreadRune error |
| var @"net/http".stateName map[@"net/http".ConnState]string |
| type @"sync".Locker interface { Lock(); Unlock() } |
| type @"sync".RWMutex struct { @"sync".w @"sync".Mutex; @"sync".writerSem uint32; @"sync".readerSem uint32; @"sync".readerCount int32; @"sync".readerWait int32 } |
| func (@"sync".rw·1 *@"sync".RWMutex) Lock () |
| func (@"sync".rw·1 *@"sync".RWMutex) RLock () |
| func (@"sync".rw·2 *@"sync".RWMutex "esc:0x2") RLocker () (? @"sync".Locker) { return (*@"sync".rlocker)(@"sync".rw·2) } |
| func (@"sync".rw·1 *@"sync".RWMutex) RUnlock () |
| func (@"sync".rw·1 *@"sync".RWMutex) Unlock () |
| type @"net/http".muxEntry struct { @"net/http".explicit bool; @"net/http".h @"net/http".Handler; @"net/http".pattern string } |
| type @"net/http".ServeMux struct { @"net/http".mu @"sync".RWMutex; @"net/http".m map[string]@"net/http".muxEntry; @"net/http".hosts bool } |
| func (@"net/http".mux·1 *@"net/http".ServeMux) Handle (@"net/http".pattern·2 string, @"net/http".handler·3 @"net/http".Handler) |
| func (@"net/http".mux·1 *@"net/http".ServeMux) HandleFunc (@"net/http".pattern·2 string, @"net/http".handler·3 func(? @"net/http".ResponseWriter, ? *@"net/http".Request)) |
| func (@"net/http".mux·3 *@"net/http".ServeMux) Handler (@"net/http".r·4 *@"net/http".Request "esc:0x0") (@"net/http".h·1 @"net/http".Handler, @"net/http".pattern·2 string) |
| func (@"net/http".mux·1 *@"net/http".ServeMux) ServeHTTP (@"net/http".w·2 @"net/http".ResponseWriter, @"net/http".r·3 *@"net/http".Request) |
| func (@"net/http".mux·3 *@"net/http".ServeMux) @"net/http".handler (@"net/http".host·4 string "esc:0x0", @"net/http".path·5 string "esc:0x0") (@"net/http".h·1 @"net/http".Handler, @"net/http".pattern·2 string) |
| func (@"net/http".mux·3 *@"net/http".ServeMux "esc:0x0") @"net/http".match (@"net/http".path·4 string "esc:0x0") (@"net/http".h·1 @"net/http".Handler, @"net/http".pattern·2 string) |
| var @"net/http".DefaultServeMux *@"net/http".ServeMux |
| type @"".waitGroupHandler struct { @"".s *@"".Server; @"".h @"net/http".Handler } |
| func (@"".h·1 *@"".waitGroupHandler) ServeHTTP (@"".w·2 @"net/http".ResponseWriter, @"".r·3 *@"net/http".Request) |
| type @"sync".rlocker struct { @"sync".w @"sync".Mutex; @"sync".writerSem uint32; @"sync".readerSem uint32; @"sync".readerCount int32; @"sync".readerWait int32 } |
| func (@"sync".r·1 *@"sync".rlocker) Lock () |
| func (@"sync".r·1 *@"sync".rlocker) Unlock () |
| |
| $$ |
| _go_.6 0 0 0 644 84894 ` |
| go object linux amd64 go1.4.1 X:precisestack |
| |
| ! |
| go13ldbytes.anet/http.acrypto/tls.aflag.a |
| fmt.a |
| net.aos.async.aþ"".NewRecorderààdH%H;awèëêHì0HH$HÇD$èH\$H\$(HH$èH\$H\$ HH$èHL$HÏHùtw1ÀèHL$H$H<$tWH$H\$(H\$èH\$H$H<$t*H$H\$ H\$èHD$HÇÈHD$8HÄ0Ã%ëÍ%ë ë
|
| 0runtime.morestack_noctxt:(type.net/http.Header^runtime.makemap"type.bytes.Buffer"runtime.newobject´0type."".ResponseRecorderÆ"runtime.newobjectðð runtime.duffzero¸.runtime.writebarrierptr.runtime.writebarrierptr`"".autotmp_0002/2type.*"".ResponseRecorder"".autotmp_0001$type.*bytes.Buffer"".autotmp_0000(type.net/http.Header"".~r02type.*"".ResponseRecorder`¿_`ð4#y |
| .9$1Tgclocals·4eacd184a717f1ec5bdc0658439e24edTgclocals·d17187785de6e87691f79774cd4b80f6R/tmp/go/src/net/http/httptest/recorder.goþ:"".(*ResponseRecorder).Header dH%H;awèëêHì H\$(HC1íH9èuGHH$HÇD$èHD$H\$(H$H<$t#H$HD$HD$èHD$HD$0HÄ Ã%ëÔ |
| |
| 0runtime.morestack_noctxtZ(type.net/http.Header~runtime.makemapÐ.runtime.writebarrierptr @"".m(type.net/http.Header"".~r0(type.net/http.Header |
| "".rw2type.*"".ResponseRecorder@`?@N ) |
| >))Tgclocals·2148c3737b2bb476685a1100a2e8343eTgclocals·e1ae6533a9e39048ba0735a2264ce16aR/tmp/go/src/net/http/httptest/recorder.goþ8"".(*ResponseRecorder).WriteädH%H;awèëêHì8HL$@HÇD$hHÇD$p¶Yûu!HÈHÇÂȶYûuHHÇÅ@hHY1íH9ët+HiH,$H\$HH\$H\$PH\$H\$XH\$èH\$PH\$`HÇD$hHÇD$pHÄ8à |
| 0runtime.morestack_noctxt*bytes.(*Buffer).Writepp"".~r2Ptype.error"".~r1@type.int"".buftype.[]uint8 |
| "".rw2type.*"".ResponseRecorderpoÀb1 !+/4Tgclocals·9877a4ef732a0f966b889793f9b99b87Tgclocals·3280bececceccd33cb74587feedb1f9fR/tmp/go/src/net/http/httptest/recorder.goþD"".(*ResponseRecorder).WriteHeader`DHD$¶XûuHl$H(HÇÅ@hà "".codetype.int |
| "".rw2type.*"".ResponseRecorder00x Tgclocals·cd30d2bcfdea04ed7c49639580b4bd08Tgclocals·3280bececceccd33cb74587feedb1f9fR/tmp/go/src/net/http/httptest/recorder.goþ8"".(*ResponseRecorder).FlushvHT$¶Zûu!HÐHÇÁȶZûuHHÇÅ@hHÇÅ@jà |
| "".rw2type.*"".ResponseRecorder@@ !Tgclocals·519efd86263089ddb84df3cfe7fd2992Tgclocals·3280bececceccd33cb74587feedb1f9fR/tmp/go/src/net/http/httptest/recorder.goþ8"".(*historyListener).Accept ðdH%H;awèëêHìHÇ$ HÇ$¨HÇ$HÇ$H$HûÒHHkHl$HH,$HL$@HY ÿÓH\$H$H\$H$HD$H\$ H$¨HøH$
LH$H$H<$VH$èH$Hû3HSHK H[(HT$hHL$pH\$xHØH)ËHû}FHH$HT$PHT$HL$XHL$HD$`HD$HÇD$ èHT$(HL$0HD$8HÎHÿÆHt$XHD$`HÓHT$PHÍHkíHëH$H$H\$H$H\$èHT$PHL$XHD$`H$H$H<$tVH$HT$hHT$HL$pHL$HD$xHD$èH$H$H<$tH$èHÄÃ%ëå%ë¡éÆþÿÿ%éþÿÿé'þÿÿ |
| 0runtime.morestack_noctxtð |
| ª$sync.(*Mutex).Lockªtype.[]net.Conn"runtime.growslice²2runtime.writebarrierifaceÆ2runtime.writebarrierslice(sync.(*Mutex).UnlockP"".autotmp_0007_type.[]net.Conn"".autotmp_0006/type.[]net.Conn"".autotmp_0005type.[]net.Conn"".err0type.error"".ctype.net.Conn |
| "".hs0type.*"".historyListenerîÿ4À0`MY! x\ÄJ^Tgclocals·3774c4bccd9beda4aa5c069fc52d4714Tgclocals·0fca37c6e40fa2c938551675216a07c2N/tmp/go/src/net/http/httptest/server.goþ&"".newLocalListenerðdH%HD$H;AwèëåHìèHÇ$ðHÇ$øHH[Hû"HH,$HïHÞH¥H¥H5HþõHl$HïH¥H¥èHT$ HT$PHL$(HL$XHD$0H\$8H\$xHøHD$pH¼$È1ÀèH$ÈHûrHÇÂHÇÁH$°H$¸H$ÀHH$HH\$H|$èHL$HD$H$°H$H$HL$H$HD$èH\$pH$H\$xH\$èHL$HD$H$°HÃH$H$HL$H$HD$èHH,$HïHÞH¥H¥H$°H\$H$¸H\$H$ÀH\$ èH\$(H$ H\$0H$¨HH$H$ H\$èH\$H,$HïHÞH¥H¥è%é×þÿÿéþÿÿH$ðH$øHÄèÃéþÿÿHH,$HïHÞH¥H¥HHl$HïHÞH¥H¥èHl$ Hl$@HT$(HT$HHD$0H\$8H\$hHøHD$`HH,$HïHÞH¥H¥HHl$HïHÞH¥H¥èHl$ Hl$@HT$(HT$HHL$0Ht$8Hù5H$HÇHÇCH$HûHÇÂHÇÅH$°H$¸H¬$ÀHL$`H$Ht$hHt$èHL$HD$H$°H$H$HL$H$HD$èHH,$HïHÞH¥H¥H$°H\$H$¸H\$H$ÀH\$ èH\$(H$ H\$0H$¨HH$H$ H\$èH\$H,$HïHÞH¥H¥èéôþÿÿH¬$ðH$øHÄèÃ> |
| *0runtime.morestack_noctxtz"".serve¤go.string."tcp"Î"".servenet.Listenð runtime.duffzerotype.string"".serveÆruntime.convT2E°2runtime.writebarrierifaceàruntime.convI2EÒ2runtime.writebarrierifaceà`go.string."httptest: failed to listen on %v: %v"Ôfmt.Sprintftype.stringÂruntime.convT2Eòruntime.gopanicè go.string."tcp" |
| .go.string."127.0.0.1:0"º |
| net.Listen¬ go.string."tcp6"Ö&go.string."[::1]:0"þnet.Listenruntime.convI2E2runtime.writebarrierifacehgo.string."httptest: failed to listen on a port: %v"fmt.SprintfÊtype.stringöruntime.convT2E¦runtime.gopanic Ð"".autotmp_0026"type.interface {}"".autotmp_0024&type.[]interface {}"".autotmp_0023"type.interface {}"".autotmp_0022Ï"type.interface {}"".autotmp_0020o&type.[]interface {}"".autotmp_0019type.string"".autotmp_0018¯(type.[1]interface {}"".autotmp_0017type.string"".autotmp_0016?(type.[2]interface {}"".errtype.error"".lÏ"type.net.Listener"".errïtype.error"".l¯"type.net.Listener"".~r0"type.net.Listener""ÐÇÏÐÏ 6t:ZSXµ 0¡Mz7|ñ |
| v7FTgclocals·bb953a9d7a13b3f8deb689ceba86d1b3Tgclocals·783a022a74940a00a8c7030b1b1d2bd3N/tmp/go/src/net/http/httptest/server.goþ"".NewServerÀ¨dH%H;awèëêHì H\$(H$H\$0H\$èHD$HD$H$èH\$H\$8HÄ Ã |
| 0runtime.morestack_noctxt\*"".NewUnstartedServer$"".(*Server).Start0@ |
| "".tstype.*"".Server"".~r1 type.*"".Server"".handler*type.net/http.Handler@9?
`¦- Tgclocals·3719f7ef83475fdfd86ee69e0815199eTgclocals·e1ae6533a9e39048ba0735a2264ce16aN/tmp/go/src/net/http/httptest/server.goþ*"".NewUnstartedServerødH%H;awèëêHì8èH$H\$(H\$H\$0HH$èHL$HÏHùá1ÀèHL$ H$H<$ºH$H\$(H\$H\$0H\$èHH$èHL$HÏHùtz1ÀèHL$H$H<$tZH$H\$@H\$H\$HH\$èH\$ H$H<$t#H$(H\$H\$èH\$ H\$PHÄ8Ã%ëÔ%ëë%é:ÿÿÿéÿÿÿ |
| 0runtime.morestack_noctxt6&"".newLocalListenerjtype."".Server|"runtime.newobject®Ü runtime.duffzero2runtime.writebarrieriface (type.net/http.Server²"runtime.newobjectÜÐ runtime.duffzero¸2runtime.writebarrieriface.runtime.writebarrierptr0p |
| "".autotmp_0036?*type.*net/http.Server"".autotmp_0035/type.*"".Server"".autotmp_0034"type.net.Listener"".~r1 type.*"".Server"".handler*type.net/http.Handlerpøop-À¾Ò-#KS$ATgclocals·d946c3dbeb12c2f57b5e4bb881c757eaTgclocals·2bd55785f6e3ac39adfca7d63a42abc2N/tmp/go/src/net/http/httptest/server.goþ$"".(*Server).Start dH%H$hÿÿÿH;AwèëâHìH$ H[HûtUHH+H¬$ÐHkH¬$ØHH$H$ÐH\$èH\$H,$HïHÞH¥H¥èHH$èHL$HÏHù1ÀèHL$XH$H<$hH¼$ HÿOHoH|$HîH¥H¥èH\$XH\$XH1íH9èìH$ H$H<$ÉH$HL$XH$HD$H$HL$èH$ HûHCHkH¬$H,$H$HX(ÿÓHL$HD$H$ÈH$H$ÀHY(ÿÓHL$HD$HH,$HïHÞH¥H¥H$°HL$H$¸HD$èH\$ Hl$HïHÞH¥H¥H$ H$H<$ÌèH$ HD$@Hh(Hý¤HEH]H\$hHøHD$`u#H1íH9èHHH\$hHD$`HH$èHD$HD$HH$H<$H\$@H\$èH\$HH$H<$ÓH$H\$`H\$H\$hH\$èH\$HH\$HH1íH9ègH\$@Hk(H,$H<$CH$HL$HH$HD$H$HL$èH$ Hp(H4$HpH\$HßH¥H¥H
Qj(èYYHH[HûÌHH+H¬$ÐHkH¬$ØHHD$P1íH9è`H¼$ø1ÀèH$øHû8HÇÂHÇÁH$àH$èH$ðHH$H$ÐH\$èHL$HD$H$àH$H$ HL$H$¨HD$èHH$H$ H\$H|$èHL$HD$H$àHÃH$H$ HL$H$¨HD$èH
HD$PHD$pH$HL$xHL$H$àH\$H$èH\$H$ðH\$ èè%édÿÿÿéÁþÿÿHH$HH\$HH\$èH\$H\$PéiþÿÿHÄÃ%é±ýÿÿHH$HH\$HH\$èHD$égýÿÿ%é!ýÿÿ%éòüÿÿHH$HH\$HH\$èHD$éüÿÿEéTüÿÿ%é(üÿÿérûÿÿ%é+ûÿÿHH$HH\$HH\$èHD$éâúÿÿéªúÿÿ%éúÿÿéjúÿÿp |
| 00runtime.morestack_noctxttDgo.string."Server already started"°type.stringÜruntime.convT2Eruntime.gopanic.type."".historyListener°"runtime.newobjectâè runtime.duffzeroØ2runtime.writebarrierifaceúPgo.itab.*"".historyListener.net.Listener2runtime.writebarrierifaceü |
| Ä |
| â&go.string."http://"¼*runtime.concatstring24runtime.writebarrierstring Vgo.itab.*net/http.ServeMux.net/http.Handler´ 0net/http.DefaultServeMuxÖ 0type."".waitGroupHandlerè "runtime.newobject¸ |
| .runtime.writebarrierptr2runtime.writebarrieriface¾Zgo.itab.*"".waitGroupHandler.net/http.HandlerÖ2runtime.writebarrieriface¤
6net/http.(*Server).Serve·f´
runtime.newprocÆ
"".serveð
@go.string."httptest: serving on"¬4go.itab.*os.File.io.Writerêð runtime.duffzeroètype.stringruntime.convT2Eþ2runtime.writebarrierifacetype.stringÐruntime.convT2EÂ2runtime.writebarrierifaceÐos.StderrØfmt.Fprintlnâruntime.blocktype.*os.File°type.io.WriterÈ4go.itab.*os.File.io.WriterÜ runtime.typ2Itab°2type.*"".waitGroupHandlerÆ*type.net/http.HandlerÞZgo.itab.*"".waitGroupHandler.net/http.Handlerò runtime.typ2ItabÄ.type.*net/http.ServeMuxÚ*type.net/http.HandleròVgo.itab.*net/http.ServeMux.net/http.Handler runtime.typ2Itabö0type.*"".historyListener"type.net.Listener¤Pgo.itab.*"".historyListener.net.Listener¸ runtime.typ2Itab°&"".autotmp_0053"type.interface {}"".autotmp_0052ï"type.interface {}"".autotmp_0050o&type.[]interface {}"".autotmp_0049type.*uint8"".autotmp_0048type.*uint8"".autotmp_00472type.*"".waitGroupHandler"".autotmp_0046type.*uint8"".autotmp_0045type.*uint8"".autotmp_0044ÿ0type.*"".historyListener"".autotmp_0043type.string"".autotmp_0042?(type.[2]interface {}"".autotmp_00412type.*"".waitGroupHandler"".autotmp_0040Ïtype.string"".autotmp_0039¯type.net.Addr"".autotmp_00380type.*"".historyListener"".autotmp_0037type.string"".hï*type.net/http.Handler"".s¯type.*"".Server"".stype.*"".Server.%°²è¯°ÐJÎ%UÀÆ¥)ûJdHm*T\¬(2]ßâ=K |
| JY5Tgclocals·63bae81cfd8a678616fd0ed83955df76Tgclocals·402aa7fb72c9ae5934f9ab3dfeea1e4aN/tmp/go/src/net/http/httptest/server.goþ*"".(*Server).StartTLSà(Ä(dH%H$(þÿÿH;AwèëâHìXH$`H[HûtUHH+H¬$pHkH¬$xHH$H$pH\$èH\$H,$HïHÞH¥H¥èHH$HH\$HH\$HH\$HH\$ HH\$(èH$ÈHl$0HßHîèHl$xH´$H´$HýH¬$+H$`HÇHÇCH$`HûûHÇÂHÇÁH$°H$¸H$ÀH,$Ht$èHL$HD$H$°H$H$0HL$H$8HD$èHH,$HïHÞH¥H¥H$°H\$H$¸H\$H$ÀH\$ èH\$(H$pH\$0H$xHH$H$pH\$èH\$H,$HïHÞH¥H¥èéþþÿÿH$`Hk H¬$HH$èHD$H$`H$H<$H$ HD$èH$`H$1íH9èt>HH$Hj Hl$H|$BHD$H|$%èH$`Hj H}H
¢HH$èH|$HÿãH-HøHîH¥H¥HøÁH$`HÇÂHÇÅHÆHèHk H,$H<$H$HH´$Ht$H$ HT$H$¨HD$èH$`Hj H] Hû
6HH$èHD$HøHÇÇHÇÂH¼$H$H$ÈH¼$HÞèHH$H$HD$H$H\$èH$`Hk H,$H<$H$H$H\$H$H\$H$H\$èH$`HB HjH¬$àHjH¬$èH$ HÇ$ÀHÇ$ÈHH$èHD$H$H$H<$ÜH$àH\$H$èH\$èH$H$H<$H$H$ H\$èH$H$¸H1íH9è/H$¸H$ H$(H$ÀH$ÐH$ÈH$ØHH$èH|$HùHÿÎ1ÀèH$°H$H<$¤H$ÐH\$H$ØH\$èH$°H$°H1íH9è1H$`H$H<$H$H$°H$ HD$H$(HL$èH$`HûÉHCHkH¬$(H,$H$ HX(ÿÓHL$HD$H$XH$H$PHY(ÿÓHL$HD$HH,$HïHÞH¥H¥H$@HL$H$HHD$èH\$ Hl$HïHÞH¥H¥H$`H$H<$èH$`H$Hh(HýãHEH]H$øHøH$ðu)H1íH9èHH$øH$ðHH$èHD$H$¨H$H<$2H$H\$èH$¨H$H<$ýH$H$ðH\$H$øH\$èH$¨H$¨H1íH9è
H$Hk(H,$H<$teH$H$¨H$HD$H$HL$èH$`Hp(H4$HpH\$HßH¥H¥H
Qj(èYYHÄXÃ%ëHH$HH\$HH\$èHD$éIÿÿÿ%é÷þÿÿ%éÂþÿÿHH$HH\$HH\$èHD$éMþÿÿEéþÿÿ%éæýÿÿé0ýÿÿ%éæüÿÿHH$HH\$HH\$èHD$éüÿÿ%éPüÿÿé+üÿÿHH$HH\$HH\$èHD$éûÿÿ%éZûÿÿ%éûÿÿ%ékúÿÿééùÿÿéúÿÿ%énùÿÿé8ùÿÿéùÿÿ%éÏøÿÿ%é²øÿÿ%é`øÿÿ |
| 00runtime.morestack_noctxttDgo.string."Server already started"°type.stringÜruntime.convT2Eruntime.gopanic "".localhostCert´ "".localhostCertÌ "".localhostCertä"".localhostKeyü"".localhostKey "".localhostKey¨,crypto/tls.X509KeyPairØ runtime.duffcopyàruntime.convI2EÊ2runtime.writebarrierifaceØLgo.string."httptest: NewTLSServer: %v"Ìfmt.Sprintftype.stringºruntime.convT2Eêruntime.gopanic² ,type.crypto/tls.ConfigÄ "runtime.newobject |
| .runtime.writebarrierptrÖ |
| ,type.crypto/tls.Config´.runtime.writebarrierfatðtype.[1]string"runtime.newobject®""".statictmp_00802runtime.writebarriersliceØ<type.[1]crypto/tls.Certificateê"runtime.newobjectô runtime.duffcopy6type.crypto/tls.CertificateÈ.runtime.writebarrierfatà2runtime.writebarriersliceö0type.crypto/tls.listener"runtime.newobjectþ2runtime.writebarrierifaceÚ.runtime.writebarrierptrRgo.itab.*crypto/tls.listener.net.Listener.type."".historyListener®"runtime.newobjectàè runtime.duffzeroÌ2runtime.writebarrierifaceúPgo.itab.*"".historyListener.net.Listener2runtime.writebarrieriface |
| Ê |
| è(go.string."https://"Â*runtime.concatstring2¢4runtime.writebarrierstring¨Vgo.itab.*net/http.ServeMux.net/http.HandlerÌ0net/http.DefaultServeMuxú0type."".waitGroupHandler"runtime.newobjectè.runtime.writebarrierptrÞ2runtime.writebarrieriface Zgo.itab.*"".waitGroupHandler.net/http.Handler¨!2runtime.writebarrierifaceö!6net/http.(*Server).Serve·f"runtime.newprocº"2type.*"".waitGroupHandlerÐ"*type.net/http.Handlerè"Zgo.itab.*"".waitGroupHandler.net/http.Handlerü" runtime.typ2ItabÎ#.type.*net/http.ServeMuxä#*type.net/http.Handlerü#Vgo.itab.*net/http.ServeMux.net/http.Handler$ runtime.typ2Itab%0type.*"".historyListener%"type.net.Listener®%Pgo.itab.*"".historyListener.net.ListenerÂ% runtime.typ2Itab&2type.*crypto/tls.listener &"type.net.Listener¸&Rgo.itab.*crypto/tls.listener.net.ListenerÌ& runtime.typ2Itab° B"".autotmp_0092type.*uint8"".autotmp_0091ß2type.*"".waitGroupHandler"".autotmp_0090type.*uint8"".autotmp_0089type.*uint8"".autotmp_0088Ï0type.*"".historyListener"".autotmp_0086ï"type.net.Listener"".autotmp_0085.type.*crypto/tls.Config"".autotmp_00846type.crypto/tls.Certificate"".autotmp_0082¯:type.[]crypto/tls.Certificate"".autotmp_0079ÿtype.[]string"".autotmp_0078Ï"type.interface {}"".autotmp_0076Ï&type.[]interface {}"".autotmp_00752type.*"".waitGroupHandler"".autotmp_0074¯type.string"".autotmp_0073type.net.Addr"".autotmp_00720type.*"".historyListener"".autotmp_00712type.*crypto/tls.listener"".autotmp_0070¿2type.*crypto/tls.listener"".autotmp_0069type.int"".autotmp_0067type.string"".autotmp_0066ï(type.[1]interface {}"".autotmp_0065Ïtype.string"".hÏ*type.net/http.Handler"".stype.*"".Server"".~r0¯"type.net.Listenercrypto/tls.l·42type.*crypto/tls.listener(crypto/tls.config·3ï.type.*crypto/tls.Config&crypto/tls.inner·2ï"type.net.Listener"".tlsListener"type.net.Listener""".existingConfigÿ.type.*crypto/tls.Config"".err¯type.error"".cert6type.crypto/tls.Certificate"".stype.*"".Server,%° Û¯ ° °ì%Uy«K>¢ÓÄÆË)QJ jmfv7ExÊL
T;.jOe».;e!j"JYETgclocals·8cc38c2ef329713e6f7498ab9444d2f8Tgclocals·dd6905ea9ec8c0f2fe6ef82d06832c42N/tmp/go/src/net/http/httptest/server.goþ0"".(*Server).wrapHandlerààdH%H;awèëêHìHH\$PHk(Hý{HEH]H\$0HøHD$(u#H1íH9èHH\$0HD$(HH$èHD$HD$ H$H<$ÙH\$PH\$èH\$ H$H<$ªH$H\$(H\$H\$0H\$èH\$ H\$ H1íH9ètEH\$PHk(H,$H<$t(H$HL$ HD$8HD$HL$@HL$èHÄHÃ%ëÏHH$HH\$HH\$èHD$ë%éJÿÿÿ%éÿÿÿHH$HH\$HH\$èHD$é¯þÿÿEé}þÿÿ$ |
| 0runtime.morestack_noctxtVgo.itab.*net/http.ServeMux.net/http.Handler´0net/http.DefaultServeMuxÖ0type."".waitGroupHandlerè"runtime.newobject¸.runtime.writebarrierptr2runtime.writebarrieriface¾Zgo.itab.*"".waitGroupHandler.net/http.Handlerº2runtime.writebarrierifaceä2type.*"".waitGroupHandlerú*type.net/http.HandlerZgo.itab.*"".waitGroupHandler.net/http.Handler¦ runtime.typ2Itabò.type.*net/http.ServeMux*type.net/http.Handler Vgo.itab.*net/http.ServeMux.net/http.Handler´ runtime.typ2Itab |
| "".autotmp_0112type.*uint8"".autotmp_0111O2type.*"".waitGroupHandler"".autotmp_01092type.*"".waitGroupHandler"".h?*type.net/http.Handler"".stype.*"".Server°0¤ #jO82s(2O6GTgclocals·fbd5b7009fdd3864023723132632a4f4Tgclocals·be2bcfbec646f66906d1617241777366N/tmp/go/src/net/http/httptest/server.goþ"".NewTLSServerÀ¨dH%H;awèëêHì H\$(H$H\$0H\$èHD$HD$H$èH\$H\$8HÄ Ã |
| 0runtime.morestack_noctxt\*"".NewUnstartedServer*"".(*Server).StartTLS0@ |
| "".tstype.*"".Server"".~r1 type.*"".Server"".handler*type.net/http.Handler@9?
`¾- Tgclocals·3719f7ef83475fdfd86ee69e0815199eTgclocals·e1ae6533a9e39048ba0735a2264ce16aN/tmp/go/src/net/http/httptest/server.goþ$"".(*Server).Close dH%H;awèëêHì8H\$@HûHKHkHl$0H,$HL$(HY0ÿÓH\$@H$H<$t]H$0èH\$@H$èHH$HH\$HH\$èHL$¶\$ ût H$èHÄ8Ã%ëégÿÿÿ |
| 0runtime.morestack_noctxt |
| ¶,sync.(*WaitGroup).WaitÒF"".(*Server).CloseClientConnectionsà0type.*net/http.Transportö2net/http.DefaultTransport2net/http.DefaultTransport¢$runtime.assertI2T2ÒTnet/http.(*Transport).CloseIdleConnectionsp"".stype.*"".ServerpopÐ(Î+7 CTgclocals·519efd86263089ddb84df3cfe7fd2992Tgclocals·d64e51a4c4bfeaa840e480961ec6b0b3N/tmp/go/src/net/http/httptest/server.goþF"".(*Server).CloseClientConnectionsÀ¶dH%H;awèëêHìHH$H¼$HÿHoH|$HîH¥H¥èHL$¶\$ ûuHÄÃHL$8H$H<$ÎH$èH\$8Hû®HSHC Hk(Hl$x1ÉHD$pHD$(HT$hHÐHl$(H9é}PHD$@HøtpHHhHL$0HT$XHl$`Hl$PH,$HT$HHZ ÿÓHD$@HL$0HÀHÿÁHl$(H9é|°H\$8H$H<$tH$èHÄÃ%ëåëéKÿÿÿ%é&ÿÿÿéßþÿÿ |
| 0runtime.morestack_noctxt@0type.*"".historyListener$runtime.assertI2T2$sync.(*Mutex).Lockê |
| Ð(sync.(*Mutex).Unlock"".autotmp_0122Otype.net.Conn"".autotmp_0121type.*net.Conn"".autotmp_0120¯type.int"".autotmp_0119type.int"".autotmp_0118/type.[]net.Conn"".connotype.net.Conn |
| "".hl0type.*"".historyListener"".stype.*"".Server&HÿÍÿ,à<ä<_ J5v29Tgclocals·15395a9df917b4c9aa74d5c6c7e1ebf4Tgclocals·289fd6e31d45ba1e8a1635abdca8fa0fN/tmp/go/src/net/http/httptest/server.goþ@"".(*waitGroupHandler).ServeHTTPàÒdH%H;awèëêHì0H\$8H+H,$H<$¬H$0HÇD$èH\$8H+H,$H<$tzH$0H
QjèYYH
ÀuTH\$8HûtEHSHkH\$@H\$H\$HH\$H\$PH\$Hl$(H,$HT$ HZ ÿÓèHÄ0Ãë·èHÄ0Ã%ézÿÿÿ%éHÿÿÿ |
| 0runtime.morestack_noctxt*sync.(*WaitGroup).Add¾2sync.(*WaitGroup).Done·fÎ"runtime.deferprocê |
| ò&runtime.deferreturn&runtime.deferreturn@`"".r0,type.*net/http.Request"".w8type.net/http.ResponseWriter"".h2type.*"".waitGroupHandler*`JT_`_`ð$*.E?±Tgclocals·ee0e5af169bfc1eef210605652a1df80Tgclocals·d64e51a4c4bfeaa840e480961ec6b0b3N/tmp/go/src/net/http/httptest/server.goþ"".initÀ®dH%H;awèëêHì8¶ût¶ûuHÄ8ÃèÆèèèèèèèèHH,$HïHÞH¥H¥H\$HÇHÇCHHl$ HïHÞH¥H¥èHD$0HH$HD$èÆHÄ8Ã( |
| 0runtime.morestack_noctxt:"".initdone·R"".initdone·p"runtime.throwinit"".initdone·sync.initos.init net.initªfmt.init´flag.init¾crypto/tls.initÈnet/http.initÒbytes.inità4go.string."httptest.serve"²go.string."if non-empty, httptest.NewServer serves on this address and blocks"Úflag.Stringò"".serve.runtime.writebarrierptr"".initdone·ppopo |
| àÊm«^¬7©Tgclocals·3280bececceccd33cb74587feedb1f9fTgclocals·3280bececceccd33cb74587feedb1f9fN/tmp/go/src/net/http/httptest/server.goþ4"".(*historyListener).Addr dH%H;awèëêHì(HY H
Ût
H|$0H9;uH#HÇD$8HÇD$@H\$0Hût4HHkHl$ H,$HL$HY(ÿÓHL$HD$HL$8HD$@HÄ(ÃëÈ |
| 0runtime.morestack_noctxtÌ |
| 0P"".~r1type.net.Addr""..this0type.*"".historyListenerPfOP |
| f*Tgclocals·a08e9001cb8f9d822225de3b8e406515Tgclocals·d64e51a4c4bfeaa840e480961ec6b0b3<autogenerated>þ."".historyListener.AddròdH%H;awèëêHì(HY H
Ût
H|$0H9;uH#HÇD$`HÇD$hHL$0HD$8HD$ H$HL$HY(ÿÓHL$HD$HL$`HD$hHÄ(Ã |
| 0runtime.morestack_noctxt¼ |
| P"".~r1`type.net.Addr""..this.type."".historyListenerP^O |
| ^"Tgclocals·af0e58b8be7ee01705c2d8253ced6833Tgclocals·d64e51a4c4bfeaa840e480961ec6b0b3<autogenerated>þ6"".(*historyListener).Close dH%H;awèëêHì(HY H
Ût
H|$0H9;uH#HÇD$8HÇD$@H\$0Hût4HHkHl$ H,$HL$HY0ÿÓHL$HD$HL$8HD$@HÄ(ÃëÈ |
| 0runtime.morestack_noctxtÌ |
| 0P"".~r1type.error""..this0type.*"".historyListenerPfOP |
| f*Tgclocals·a08e9001cb8f9d822225de3b8e406515Tgclocals·d64e51a4c4bfeaa840e480961ec6b0b3<autogenerated>þ0"".historyListener.CloseòdH%H;awèëêHì(HY H
Ût
H|$0H9;uH#HÇD$`HÇD$hHL$0HD$8HD$ H$HL$HY0ÿÓHL$HD$HL$`HD$hHÄ(Ã |
| 0runtime.morestack_noctxt¼ |
| P"".~r1`type.error""..this.type."".historyListenerP^O |
| |
| ^"Tgclocals·af0e58b8be7ee01705c2d8253ced6833Tgclocals·d64e51a4c4bfeaa840e480961ec6b0b3<autogenerated>þ4"".(*historyListener).Lock`LH\$H\$H|$tHD$é%ëì2$sync.(*Mutex).Lock""..this0type.*"".historyListener000Tgclocals·519efd86263089ddb84df3cfe7fd2992Tgclocals·3280bececceccd33cb74587feedb1f9f<autogenerated>þ8"".(*historyListener).Unlock`LH\$H\$H|$tHD$é%ëì2(sync.(*Mutex).Unlock""..this0type.*"".historyListener000Tgclocals·519efd86263089ddb84df3cfe7fd2992Tgclocals·3280bececceccd33cb74587feedb1f9f<autogenerated>þ4type..hash.[2]interface {}àÎdH%H;awèëêHì0HL$H1ÀHÇD$ Hl$ H9è}eHD$(HÅHÈHÁÀH»¿c»kïRH¯ØHØH\$8HûtDHkíHëH$HÇD$HD$HHD$èHL$HD$(HÿÀHl$ H9è|HL$PHÄ0Ãë¸ |
| 0runtime.morestack_noctxtü(runtime.nilinterhash@`"".autotmp_0135type.int"".autotmp_0134type.int"".~r30type.uintptr"".h type.uintptr"".stype.uintptr"".p*type.*[2]interface {}`_`
°° |
| }3Tgclocals·2dc77d960dd3e4b3de2361f9cbd75783Tgclocals·3280bececceccd33cb74587feedb1f9fR/tmp/go/src/net/http/httptest/recorder.goþ0type..eq.[2]interface {}àÈdH%H;awèëêHìX1ÀHÇD$(Hl$(H9èHD$0H\$hHûHÅHkíHëHHsH\$`HûtvHÅHkíHëHHSH9ÈuVHD$8H$HT$@HT$HL$HHL$Ht$PHt$è¶\$ ût HD$0HÿÀHl$(H9ènÿÿÿÆD$xHÄXÃÆD$xHÄXÃëécÿÿÿ |
| 0runtime.morestack_noctxtÂruntime.efaceeq@°"".autotmp_0139?"type.interface {}"".autotmp_0138"type.interface {}"".autotmp_0137_type.int"".autotmp_0136Otype.int"".~r30type.bool"".s type.uintptr"".q*type.*[2]interface {}"".p*type.*[2]interface {}&°´¯° ¯°ðð PTgclocals·9c703c5c7b9c1932c840b69f8ebce236Tgclocals·44568aa369055d8938d809aa5d80843bR/tmp/go/src/net/http/httptest/recorder.goþ4type..hash.[1]interface {}àÎdH%H;awèëêHì0HL$H1ÀHÇD$ Hl$ H9è}eHD$(HÅHÈHÁÀH»¿c»kïRH¯ØHØH\$8HûtDHkíHëH$HÇD$HD$HHD$èHL$HD$(HÿÀHl$ H9è|HL$PHÄ0Ãë¸ |
| 0runtime.morestack_noctxtü(runtime.nilinterhash@`"".autotmp_0142type.int"".autotmp_0141type.int"".~r30type.uintptr"".h type.uintptr"".stype.uintptr"".p*type.*[1]interface {}`_`
°° |
| }3Tgclocals·2dc77d960dd3e4b3de2361f9cbd75783Tgclocals·3280bececceccd33cb74587feedb1f9fR/tmp/go/src/net/http/httptest/recorder.goþ0type..eq.[1]interface {}àÈdH%H;awèëêHìX1ÀHÇD$(Hl$(H9èHD$0H\$hHûHÅHkíHëHHsH\$`HûtvHÅHkíHëHHSH9ÈuVHD$8H$HT$@HT$HL$HHL$Ht$PHt$è¶\$ ût HD$0HÿÀHl$(H9ènÿÿÿÆD$xHÄXÃÆD$xHÄXÃëécÿÿÿ |
| 0runtime.morestack_noctxtÂruntime.efaceeq@°"".autotmp_0146?"type.interface {}"".autotmp_0145"type.interface {}"".autotmp_0144_type.int"".autotmp_0143Otype.int"".~r30type.bool"".s type.uintptr"".q*type.*[1]interface {}"".p*type.*[1]interface {}&°´¯° ¯°ðð PTgclocals·9c703c5c7b9c1932c840b69f8ebce236Tgclocals·44568aa369055d8938d809aa5d80843bR/tmp/go/src/net/http/httptest/recorder.goþ(type..hash."".ServerÀ®dH%H;awèëêHì H\$(H$H<$HÇD$H\$8H\$èHD$H\$(H$H<$tgH$HÇD$HD$8HD$èHD$H\$(H$H<$t,H$ HÇD$(HD$8HD$èH\$H\$@HÄ Ã%ëË%ë%éWÿÿÿ |
| |
| 0runtime.morestack_noctxtruntime.strhashè"runtime.interhashÌruntime.memhash@@"".autotmp_0149type.uintptr"".autotmp_0148type.uintptr"".~r30type.uintptr"".h type.uintptr"".stype.uintptr"".ptype.*"".Server@?@'ààATgclocals·2dc77d960dd3e4b3de2361f9cbd75783Tgclocals·3280bececceccd33cb74587feedb1f9fR/tmp/go/src/net/http/httptest/recorder.goþ$type..eq."".ServerødH%H;awèëêHìhH\$pHûÌH3HKH\$xHû¯HHCH9Á
Ht$XH4$HL$`HL$HT$HHT$HD$PHD$è¶\$ ûXH\$xHûBHKHsH\$pHû$HCHSH9È
HD$(H$HT$0HT$HL$8HL$Ht$@Ht$è¶\$ ûÌH\$pH$H<$¬H$ H\$xH\$H|$
HD$ HÇD$(èH\$pH$H<$tXH$ H\$xH\$H|$t8HD$ HÇD$(è¶\$ûu
Æ$HÄhÃÆ$HÄhÃ%ë¿%ë%éoÿÿÿ%éHÿÿÿÆ$HÄhÃéÕþÿÿé·þÿÿÆ$HÄhÃéJþÿÿé-þÿÿ |
| 0runtime.morestack_noctxtî runtime.eqstringÐruntime.ifaceeqò runtime.memequalè runtime.memequal@Ð"".autotmp_0154"type.net.Listener"".autotmp_0153_"type.net.Listener"".autotmp_0152?type.string"".autotmp_0151type.string"".~r30type.bool"".s type.uintptr"".qtype.*"".Server"".ptype.*"".Server>ÐôÏÐÏÐ6ÏÐÏÐvTgclocals·9c703c5c7b9c1932c840b69f8ebce236Tgclocals·e13351f28add7c60853cb3aac0a0e34eR/tmp/go/src/net/http/httptest/recorder.goþ<type..hash."".waitGroupHandlerÀªdH%H;awèëêHì H\$(H$H<$tbHÇD$H\$8H\$èHD$H\$(H$H<$t,H$HÇD$HD$8HD$èH\$H\$@HÄ Ã%ëË%ë |
| 0runtime.morestack_noctxt|runtime.memhashà"runtime.interhash@@ |
| "".autotmp_0156type.uintptr"".~r30type.uintptr"".h type.uintptr"".stype.uintptr"".p2type.*"".waitGroupHandler@h?@ |
| =cTgclocals·2dc77d960dd3e4b3de2361f9cbd75783Tgclocals·3280bececceccd33cb74587feedb1f9fR/tmp/go/src/net/http/httptest/recorder.goþ8type..eq."".waitGroupHandlerÀ°dH%H;awèëêHìHHT$PHD$XHH(H9ët |
| ÆD$hHÄHÃHHHpHBHRH9Èu@HD$(H$HT$0HT$HL$8HL$Ht$@Ht$è¶\$ ût |
| ÆD$hHÄHÃÆD$hHÄHÃ |
| 0runtime.morestack_noctxtìruntime.ifaceeq@"".autotmp_0158?*type.net/http.Handler"".autotmp_0157*type.net/http.Handler"".~r30type.bool"".s type.uintptr"".q2type.*"".waitGroupHandler"".p2type.*"".waitGroupHandler*T |
| u+Tgclocals·9c703c5c7b9c1932c840b69f8ebce236Tgclocals·44568aa369055d8938d809aa5d80843bR/tmp/go/src/net/http/httptest/recorder.goþ(type..hash.[1]stringàÎdH%H;awèëêHì0HL$H1ÀHÇD$ Hl$ H9è}eHD$(HÅHÈHÁÀH»¿c»kïRH¯ØHØH\$8HûtDHkíHëH$HÇD$HD$HHD$èHL$HD$(HÿÀHl$ H9è|HL$PHÄ0Ãë¸ |
| 0runtime.morestack_noctxtüruntime.strhash@`"".autotmp_0161type.int"".autotmp_0160type.int"".~r30type.uintptr"".h type.uintptr"".stype.uintptr"".ptype.*[1]string`_`
°° |
| }3Tgclocals·2dc77d960dd3e4b3de2361f9cbd75783Tgclocals·3280bececceccd33cb74587feedb1f9fR/tmp/go/src/net/http/httptest/recorder.goþ$type..eq.[1]stringàÈdH%H;awèëêHìX1ÀHÇD$(Hl$(H9èHD$0H\$`HûHÅHkíHëH3HKH\$hHûtvHÅHkíHëHHCH9ÁuVHt$HH4$HL$PHL$HT$8HT$HD$@HD$è¶\$ ût HD$0HÿÀHl$(H9ènÿÿÿÆD$xHÄXÃÆD$xHÄXÃëécÿÿÿ |
| 0runtime.morestack_noctxt runtime.eqstring@°"".autotmp_0165?type.string"".autotmp_0164type.string"".autotmp_0163_type.int"".autotmp_0162Otype.int"".~r30type.bool"".s type.uintptr"".qtype.*[1]string"".ptype.*[1]string&°´¯° ¯°ðð PTgclocals·9c703c5c7b9c1932c840b69f8ebce236Tgclocals·44568aa369055d8938d809aa5d80843bR/tmp/go/src/net/http/httptest/recorder.goþTgclocals·d17187785de6e87691f79774cd4b80f688 ( |
| þTgclocals·4eacd184a717f1ec5bdc0658439e24ed88þTgclocals·e1ae6533a9e39048ba0735a2264ce16a þTgclocals·2148c3737b2bb476685a1100a2e8343e þTgclocals·3280bececceccd33cb74587feedb1f9fþTgclocals·9877a4ef732a0f966b889793f9b99b87 |
| þTgclocals·3280bececceccd33cb74587feedb1f9fþTgclocals·cd30d2bcfdea04ed7c49639580b4bd08þTgclocals·3280bececceccd33cb74587feedb1f9fþTgclocals·519efd86263089ddb84df3cfe7fd2992þTgclocals·0fca37c6e40fa2c938551675216a07c2(( þTgclocals·3774c4bccd9beda4aa5c069fc52d4714(( |
| îîþgo.string."tcp"0(tcp go.string."tcp"þ`go.string."httptest: failed to listen on %v: %v"pj$httptest: failed to listen on %v: %v `go.string."httptest: failed to listen on %v: %v"þ.go.string."127.0.0.1:0"@8127.0.0.1:0 .go.string."127.0.0.1:0"þ go.string."tcp6"0*tcp6 go.string."tcp6"þ&go.string."[::1]:0"00[::1]:0 &go.string."[::1]:0"þhgo.string."httptest: failed to listen on a port: %v"r(httptest: failed to listen on a port: %v hgo.string."httptest: failed to listen on a port: %v"þTgclocals·783a022a74940a00a8c7030b1b1d2bd3*° ü üüüð ððþTgclocals·bb953a9d7a13b3f8deb689ceba86d1b3PPþTgclocals·e1ae6533a9e39048ba0735a2264ce16a þTgclocals·3719f7ef83475fdfd86ee69e0815199e þTgclocals·2bd55785f6e3ac39adfca7d63a42abc200° |
| þTgclocals·d946c3dbeb12c2f57b5e4bb881c757ea00þ,Pgo.itab.*"".historyListener.net.Listenerþ,Vgo.itab.*net/http.ServeMux.net/http.Handlerþ,Zgo.itab.*"".waitGroupHandler.net/http.Handlerþ,4go.itab.*os.File.io.WriterþDgo.string."Server already started"PNServer already started Dgo.string."Server already started"þ&go.string."http://"00http:// &go.string."http://"þ@go.string."httptest: serving on"PJhttptest: serving on @go.string."httptest: serving on"þTgclocals·402aa7fb72c9ae5934f9ab3dfeea1e4a 6 |
| |
| Â? À?þTgclocals·63bae81cfd8a678616fd0ed83955df76XX þ,Rgo.itab.*crypto/tls.listener.net.ListenerþLgo.string."httptest: NewTLSServer: %v"`Vhttptest: NewTLSServer: %v Lgo.string."httptest: NewTLSServer: %v"þ(go.string."http/1.1"@2http/1.1 (go.string."http/1.1"þ(go.string."https://"@2https:// (go.string."https://"þTgclocals·dd6905ea9ec8c0f2fe6ef82d06832c42ÐÐtÀÀÀ ÂÂ/À ,,,þTgclocals·8cc38c2ef329713e6f7498ab9444d2f8 þTgclocals·be2bcfbec646f66906d161724177736600 |
| ,.þTgclocals·fbd5b7009fdd3864023723132632a4f400þTgclocals·e1ae6533a9e39048ba0735a2264ce16a þTgclocals·3719f7ef83475fdfd86ee69e0815199e þTgclocals·d64e51a4c4bfeaa840e480961ec6b0b3þTgclocals·519efd86263089ddb84df3cfe7fd2992þTgclocals·289fd6e31d45ba1e8a1635abdca8fa0f(( |
| þTgclocals·15395a9df917b4c9aa74d5c6c7e1ebf4((þTgclocals·d64e51a4c4bfeaa840e480961ec6b0b3þTgclocals·ee0e5af169bfc1eef210605652a1df80®þ,""..gobytes.1òò-----BEGIN CERTIFICATE----- |
| MIIBdzCCASOgAwIBAgIBADALBgkqhkiG9w0BAQUwEjEQMA4GA1UEChMHQWNtZSBD |
| bzAeFw03MDAxMDEwMDAwMDBaFw00OTEyMzEyMzU5NTlaMBIxEDAOBgNVBAoTB0Fj |
| bWUgQ28wWjALBgkqhkiG9w0BAQEDSwAwSAJBAN55NcYKZeInyTuhcCwFMhDHCmwa |
| IUSdtXdcbItRB/yfXGBhiex00IaLXQnSU+QZPRZWYqeTEbFSgihqi1PUDy8CAwEA |
| AaNoMGYwDgYDVR0PAQH/BAQDAgCkMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1Ud |
| EwEB/wQFMAMBAf8wLgYDVR0RBCcwJYILZXhhbXBsZS5jb22HBH8AAAGHEAAAAAAA |
| AAAAAAAAAAAAAAEwCwYJKoZIhvcNAQEFA0EAAoQn/ytgqpiLcZu9XKbCJsJcvkgk |
| Se6AbGXgSlq+ZCEVo0qIwSgeBqmsJxUu7NCSOwVJLYNEBO2DtIxoYVk+MA== |
| -----END CERTIFICATE-----þ,""..gobytes.2àà-----BEGIN RSA PRIVATE KEY----- |
| MIIBPAIBAAJBAN55NcYKZeInyTuhcCwFMhDHCmwaIUSdtXdcbItRB/yfXGBhiex0 |
| 0IaLXQnSU+QZPRZWYqeTEbFSgihqi1PUDy8CAwEAAQJBAQdUx66rfh8sYsgfdcvV |
| NoafYpnEcB5s4m/vSVe6SU7dCK6eYec9f9wpT353ljhDUHq3EbmE4foNzJngh35d |
| AekCIQDhRQG5Li0Wj8TM4obOnnXUXf1jRv0UkzE9AHWLG5q3AwIhAPzSjpYUDjVW |
| MCUXgckTpKCuGwbJk7424Nb8bLzf3kllAiA5mUBgjfr/WtFSJdWcPQ4Zt9KTMNKD |
| EUO0ukpTwEIl6wIhAMbGqZK3zAAFdq8DD2jPx+UJXnh0rnOkZBzDtJ6/iN69AiEA |
| 1Aq8MJgTaYsDQWyU/hDq5YkDJc9e9DSCvUIzqxQWMQE= |
| -----END RSA PRIVATE KEY-----þ4go.string."httptest.serve"@>httptest.serve 4go.string."httptest.serve"þgo.string."if non-empty, httptest.NewServer serves on this address and blocks"°¦Bif non-empty, httptest.NewServer serves on this address and blocks go.string."if non-empty, httptest.NewServer serves on this address and blocks"þTgclocals·3280bececceccd33cb74587feedb1f9fþTgclocals·3280bececceccd33cb74587feedb1f9fþ*"".servetype.*stringþ( "".localhostCert0type.[]uint8099""..gobytes.1þ("".localhostKey0type.[]uint80ðð""..gobytes.2þ""".statictmp_0080 type.[1]string (go.string."http/1.1"þ,"".initdone·type.uint8þ""".NewRecorder·f"".NewRecorderþ$runtime.makemap·fruntime.makemapþ(runtime.newobject·f"runtime.newobjectþ4runtime.writebarrierptr·f.runtime.writebarrierptrþ,runtime.throwreturn·f&runtime.throwreturnþ@"".(*ResponseRecorder).Header·f:"".(*ResponseRecorder).Headerþ>"".(*ResponseRecorder).Write·f8"".(*ResponseRecorder).Writeþ0bytes.(*Buffer).Write·f*bytes.(*Buffer).WriteþJ"".(*ResponseRecorder).WriteHeader·fD"".(*ResponseRecorder).WriteHeaderþ>"".(*ResponseRecorder).Flush·f8"".(*ResponseRecorder).Flushþ>"".(*historyListener).Accept·f8"".(*historyListener).Acceptþ*sync.(*Mutex).Lock·f$sync.(*Mutex).Lockþ(runtime.growslice·f"runtime.growsliceþ8runtime.writebarrieriface·f2runtime.writebarrierifaceþ8runtime.writebarrierslice·f2runtime.writebarriersliceþ.sync.(*Mutex).Unlock·f(sync.(*Mutex).Unlockþ,"".newLocalListener·f&"".newLocalListenerþnet.Listen·fnet.Listenþ$runtime.convT2E·fruntime.convT2Eþ$runtime.convI2E·fruntime.convI2Eþfmt.Sprintf·ffmt.Sprintfþ$runtime.gopanic·fruntime.gopanicþ"".NewServer·f"".NewServerþ0"".NewUnstartedServer·f*"".NewUnstartedServerþ*"".(*Server).Start·f$"".(*Server).Startþ&runtime.typ2Itab·f runtime.typ2Itabþ0runtime.concatstring2·f*runtime.concatstring2þ:runtime.writebarrierstring·f4runtime.writebarrierstringþ6net/http.(*Server).Serve·f0net/http.(*Server).Serveþ$runtime.newproc·fruntime.newprocþfmt.Fprintln·ffmt.Fprintlnþ runtime.block·fruntime.blockþ0"".(*Server).StartTLS·f*"".(*Server).StartTLSþ2crypto/tls.X509KeyPair·f,crypto/tls.X509KeyPairþ4runtime.writebarrierfat·f.runtime.writebarrierfatþ6"".(*Server).wrapHandler·f0"".(*Server).wrapHandlerþ$"".NewTLSServer·f"".NewTLSServerþ*"".(*Server).Close·f$"".(*Server).Closeþ2sync.(*WaitGroup).Wait·f,sync.(*WaitGroup).WaitþL"".(*Server).CloseClientConnections·fF"".(*Server).CloseClientConnectionsþ*runtime.assertI2T2·f$runtime.assertI2T2þZnet/http.(*Transport).CloseIdleConnections·fTnet/http.(*Transport).CloseIdleConnectionsþF"".(*waitGroupHandler).ServeHTTP·f@"".(*waitGroupHandler).ServeHTTPþ0sync.(*WaitGroup).Add·f*sync.(*WaitGroup).Addþ2sync.(*WaitGroup).Done·f,sync.(*WaitGroup).Doneþ(runtime.deferproc·f"runtime.deferprocþ,runtime.deferreturn·f&runtime.deferreturnþ"".init·f"".initþ(runtime.throwinit·f"runtime.throwinitþsync.init·fsync.initþos.init·fos.initþnet.init·fnet.initþfmt.init·ffmt.initþflag.init·fflag.initþ$crypto/tls.init·fcrypto/tls.initþ net/http.init·fnet/http.initþbytes.init·fbytes.initþflag.String·fflag.Stringþbruntime.gcbits.0x88000000000000000000000000000000 þLgo.string."*httptest.ResponseRecorder"`V*httptest.ResponseRecorder Lgo.string."*httptest.ResponseRecorder"þXgo.string."func(*httptest.ResponseRecorder)"pb func(*httptest.ResponseRecorder) Xgo.string."func(*httptest.ResponseRecorder)"þ>type.func(*"".ResponseRecorder)æ&3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000PXgo.string."func(*httptest.ResponseRecorder)"pPgo.weak.type.*func(*"".ResponseRecorder)"runtime.zerovalue >type.func(*"".ResponseRecorder)Ð>type.func(*"".ResponseRecorder)2type.*"".ResponseRecorderþpgo.string."func(*httptest.ResponseRecorder) http.Header"z,func(*httptest.ResponseRecorder) http.Header pgo.string."func(*httptest.ResponseRecorder) http.Header"þ^type.func(*"".ResponseRecorder) net/http.Header S«¥T3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000Ppgo.string."func(*httptest.ResponseRecorder) http.Header"ppgo.weak.type.*func(*"".ResponseRecorder) net/http.Header"runtime.zerovalue ^type.func(*"".ResponseRecorder) net/http.HeaderÐ^type.func(*"".ResponseRecorder) net/http.Header2type.*"".ResponseRecorder(type.net/http.Headerþbruntime.gcbits.0x48844400000000000000000000000000 HDþ&go.string."[]uint8"00[]uint8 &go.string."[]uint8"þtype.[]uint8 ß~.8 runtime.algarray0bruntime.gcbits.0x48844400000000000000000000000000P&go.string."[]uint8"p*go.weak.type.*[]uint8"runtime.zerovaluetype.uint8þ6go.typelink.[]uint8/[]uint8type.[]uint8þgo.string."func(*httptest.ResponseRecorder, []uint8) (int, error)"6func(*httptest.ResponseRecorder, []uint8) (int, error) go.string."func(*httptest.ResponseRecorder, []uint8) (int, error)"þjtype.func(*"".ResponseRecorder, []uint8) (int, error)ÀÀV3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000Pgo.string."func(*httptest.ResponseRecorder, []uint8) (int, error)"p|go.weak.type.*func(*"".ResponseRecorder, []uint8) (int, error)"runtime.zerovalue jtype.func(*"".ResponseRecorder, []uint8) (int, error)Ð jtype.func(*"".ResponseRecorder, []uint8) (int, error)2type.*"".ResponseRecordertype.[]uint8 type.int°type.errorþbgo.string."func(*httptest.ResponseRecorder, int)"pl%func(*httptest.ResponseRecorder, int) bgo.string."func(*httptest.ResponseRecorder, int)"þHtype.func(*"".ResponseRecorder, int) _V3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000Pbgo.string."func(*httptest.ResponseRecorder, int)"pZgo.weak.type.*func(*"".ResponseRecorder, int)"runtime.zerovalue Htype.func(*"".ResponseRecorder, int)Ð Htype.func(*"".ResponseRecorder, int)2type.*"".ResponseRecordertype.intþ"go.string."Flush"0,Flush "go.string."Flush"þ$go.string."func()"0.func() $go.string."func()"þtype.func()ö¼ö3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P$go.string."func()"p(go.weak.type.*func()"runtime.zerovalue type.func()Ðtype.func()þ$go.string."Header"0.Header $go.string."Header"þ<go.string."func() http.Header"PFfunc() http.Header <go.string."func() http.Header"þ6type.func() net/http.Headeræß3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P<go.string."func() http.Header"pHgo.weak.type.*func() net/http.Header"runtime.zerovalue 6type.func() net/http.HeaderÐ6type.func() net/http.Header(type.net/http.Headerþ"go.string."Write"0,Write "go.string."Write"þLgo.string."func([]uint8) (int, error)"`Vfunc([]uint8) (int, error) Lgo.string."func([]uint8) (int, error)"þ>type.func([]uint8) (int, error)°°N4P3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000PLgo.string."func([]uint8) (int, error)"pPgo.weak.type.*func([]uint8) (int, error)"runtime.zerovalue >type.func([]uint8) (int, error)Ð>type.func([]uint8) (int, error)type.[]uint8type.int type.errorþ.go.string."WriteHeader"@8WriteHeader .go.string."WriteHeader"þ*go.string."func(int)"@4 func(int) *go.string."func(int)"þtype.func(int)æñ3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P*go.string."func(int)"p.go.weak.type.*func(int)"runtime.zerovalue type.func(int)Ðtype.func(int)type.intþ2type.*"".ResponseRecorderððà;N68 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000PLgo.string."*httptest.ResponseRecorder"pDgo.weak.type.**"".ResponseRecorder"runtime.zerovalue0type."".ResponseRecorder` 2type.*"".ResponseRecorderÀð2type.*"".ResponseRecorderð"go.string."Flush"type.func() >type.func(*"".ResponseRecorder)°8"".(*ResponseRecorder).FlushÀ8"".(*ResponseRecorder).FlushÐ$go.string."Header"ð6type.func() net/http.Header^type.func(*"".ResponseRecorder) net/http.Header:"".(*ResponseRecorder).Header :"".(*ResponseRecorder).Header°"go.string."Write"Ð>type.func([]uint8) (int, error)àjtype.func(*"".ResponseRecorder, []uint8) (int, error)ð8"".(*ResponseRecorder).Write8"".(*ResponseRecorder).Write.go.string."WriteHeader"°type.func(int)ÀHtype.func(*"".ResponseRecorder, int)ÐD"".(*ResponseRecorder).WriteHeaderàD"".(*ResponseRecorder).WriteHeaderþbruntime.gcbits.0x84480000000000000000000000000000 HþJgo.string."httptest.ResponseRecorder"`Thttptest.ResponseRecorder Jgo.string."httptest.ResponseRecorder"þ go.string."Code"0*Code go.string."Code"þ*go.string."HeaderMap"@4 HeaderMap *go.string."HeaderMap"þ go.string."Body"0*Body go.string."Body"þ&go.string."Flushed"00Flushed &go.string."Flushed"þ.go.string."wroteHeader"@8wroteHeader .go.string."wroteHeader"þ8go.string."ResponseRecorder"PBResponseRecorder 8go.string."ResponseRecorder"þ0type."".ResponseRecorder V¦J* à runtime.algarray0bruntime.gcbits.0x84480000000000000000000000000000PJgo.string."httptest.ResponseRecorder"p2type.*"".ResponseRecorder"runtime.zerovalueÀ0type."".ResponseRecorderÀ go.string."Code"àtype.int*go.string."HeaderMap"°(type.net/http.Headerà go.string."Body"$type.*bytes.Buffer°&go.string."Flushed"Ðtype.bool.go.string."wroteHeader""go.importpath."". type.bool`Ð0type."".ResponseRecorderÐ8go.string."ResponseRecorder"à"go.importpath."".ð 0type."".ResponseRecorderþ,go.string."[]net.Conn"@6 |
| []net.Conn ,go.string."[]net.Conn"þtype.[]net.Conn ´Ðo> runtime.algarray0bruntime.gcbits.0x48844400000000000000000000000000P,go.string."[]net.Conn"p0go.weak.type.*[]net.Conn"runtime.zerovaluetype.net.ConnþBgo.typelink.[]net.Conn/[]net.Conntype.[]net.Connþbruntime.gcbits.0x8c844400000000000000000000000000 DþHgo.string."httptest.historyListener"`Rhttptest.historyListener Hgo.string."httptest.historyListener"þ&go.string."history"00history &go.string."history"þTgclocals·d64e51a4c4bfeaa840e480961ec6b0b3þTgclocals·a08e9001cb8f9d822225de3b8e406515þTgclocals·d64e51a4c4bfeaa840e480961ec6b0b3þTgclocals·af0e58b8be7ee01705c2d8253ced6833þTgclocals·d64e51a4c4bfeaa840e480961ec6b0b3þTgclocals·a08e9001cb8f9d822225de3b8e406515þTgclocals·d64e51a4c4bfeaa840e480961ec6b0b3þTgclocals·af0e58b8be7ee01705c2d8253ced6833þfgo.string."func(httptest.historyListener) net.Addr"pp'func(httptest.historyListener) net.Addr fgo.string."func(httptest.historyListener) net.Addr"þLtype.func("".historyListener) net.Addr IÉÔÿ3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000Pfgo.string."func(httptest.historyListener) net.Addr"p^go.weak.type.*func("".historyListener) net.Addr"runtime.zerovalue Ltype.func("".historyListener) net.AddrÐLtype.func("".historyListener) net.Addr.type."".historyListenertype.net.Addrþ`go.string."func(httptest.historyListener) error"pj$func(httptest.historyListener) error `go.string."func(httptest.historyListener) error"þFtype.func("".historyListener) error ¸²3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P`go.string."func(httptest.historyListener) error"pXgo.weak.type.*func("".historyListener) error"runtime.zerovalue Ftype.func("".historyListener) errorÐFtype.func("".historyListener) error.type."".historyListenertype.errorþ6go.string."historyListener"@@historyListener 6go.string."historyListener"þ go.string."Addr"0*Addr go.string."Addr"þ6go.string."func() net.Addr"@@func() net.Addr 6go.string."func() net.Addr"þ(type.func() net.AddrWHù3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P6go.string."func() net.Addr"p:go.weak.type.*func() net.Addr"runtime.zerovalue (type.func() net.AddrÐ(type.func() net.Addrtype.net.Addrþ"go.string."Close"0,Close "go.string."Close"þ0go.string."func() error"@:func() error 0go.string."func() error"þ"type.func() errorÖµ3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P0go.string."func() error"p4go.weak.type.*func() error"runtime.zerovalue "type.func() errorÐ"type.func() errortype.errorþ.type."".historyListenerÀÀ0Ó_]2 à runtime.algarray0bruntime.gcbits.0x8c844400000000000000000000000000PHgo.string."httptest.historyListener"p0type.*"".historyListener"runtime.zerovalueÀ.type."".historyListenerà"type.net.Listener°type.sync.Mutexà&go.string."history"ð"go.importpath."".type.[]net.Conn`°.type."".historyListener°6go.string."historyListener"À"go.importpath."".Ð.type."".historyListener go.string."Addr" (type.func() net.Addr°Ltype.func("".historyListener) net.AddrÀ4"".(*historyListener).AddrÐ."".historyListener.Addrà"go.string."Close""type.func() errorFtype.func("".historyListener) error 6"".(*historyListener).Close°0"".historyListener.CloseþJgo.string."*httptest.historyListener"`T*httptest.historyListener Jgo.string."*httptest.historyListener"þTgclocals·3280bececceccd33cb74587feedb1f9fþTgclocals·519efd86263089ddb84df3cfe7fd2992þTgclocals·3280bececceccd33cb74587feedb1f9fþTgclocals·519efd86263089ddb84df3cfe7fd2992þzgo.string."func(*httptest.historyListener) (net.Conn, error)"1func(*httptest.historyListener) (net.Conn, error) zgo.string."func(*httptest.historyListener) (net.Conn, error)"þ`type.func(*"".historyListener) (net.Conn, error)°°.3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000Pzgo.string."func(*httptest.historyListener) (net.Conn, error)"prgo.weak.type.*func(*"".historyListener) (net.Conn, error)"runtime.zerovalue `type.func(*"".historyListener) (net.Conn, error)Ð`type.func(*"".historyListener) (net.Conn, error)0type.*"".historyListenertype.net.Conn type.errorþhgo.string."func(*httptest.historyListener) net.Addr"r(func(*httptest.historyListener) net.Addr hgo.string."func(*httptest.historyListener) net.Addr"þNtype.func(*"".historyListener) net.Addr º5Ê3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000Phgo.string."func(*httptest.historyListener) net.Addr"p`go.weak.type.*func(*"".historyListener) net.Addr"runtime.zerovalue Ntype.func(*"".historyListener) net.AddrÐNtype.func(*"".historyListener) net.Addr0type.*"".historyListenertype.net.Addrþbgo.string."func(*httptest.historyListener) error"pl%func(*httptest.historyListener) error bgo.string."func(*httptest.historyListener) error"þHtype.func(*"".historyListener) error 'µ3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000Pbgo.string."func(*httptest.historyListener) error"pZgo.weak.type.*func(*"".historyListener) error"runtime.zerovalue Htype.func(*"".historyListener) errorÐHtype.func(*"".historyListener) error0type.*"".historyListenertype.errorþVgo.string."func(*httptest.historyListener)"``func(*httptest.historyListener) Vgo.string."func(*httptest.historyListener)"þ<type.func(*"".historyListener)Âaô3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000PVgo.string."func(*httptest.historyListener)"pNgo.weak.type.*func(*"".historyListener)"runtime.zerovalue <type.func(*"".historyListener)Ð<type.func(*"".historyListener)0type.*"".historyListenerþ$go.string."Accept"0.Accept $go.string."Accept"þHgo.string."func() (net.Conn, error)"`Rfunc() (net.Conn, error) Hgo.string."func() (net.Conn, error)"þ:type.func() (net.Conn, error) ò å3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000PHgo.string."func() (net.Conn, error)"pLgo.weak.type.*func() (net.Conn, error)"runtime.zerovalue :type.func() (net.Conn, error)Ð:type.func() (net.Conn, error)type.net.Conntype.errorþ go.string."Lock"0*Lock go.string."Lock"þ$go.string."Unlock"0.Unlock $go.string."Unlock"þ0type.*"".historyListenerÐÐLW6B runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000PJgo.string."*httptest.historyListener"pBgo.weak.type.**"".historyListener"runtime.zerovalue.type."".historyListener` 0type.*"".historyListenerÀð0type.*"".historyListenerð$go.string."Accept":type.func() (net.Conn, error) `type.func(*"".historyListener) (net.Conn, error)°8"".(*historyListener).AcceptÀ8"".(*historyListener).AcceptÐ go.string."Addr"ð(type.func() net.AddrNtype.func(*"".historyListener) net.Addr4"".(*historyListener).Addr 4"".(*historyListener).Addr°"go.string."Close"Ð"type.func() erroràHtype.func(*"".historyListener) errorð6"".(*historyListener).Close6"".(*historyListener).Close go.string."Lock"°type.func()À<type.func(*"".historyListener)Ð4"".(*historyListener).Lockà4"".(*historyListener).Lockð$go.string."Unlock"type.func() <type.func(*"".historyListener)°8"".(*historyListener).UnlockÀ8"".(*historyListener).Unlockþbruntime.gcbits.0xcc000000000000000000000000000000 Ìþ0go.string."interface {}"@:interface {} 0go.string."interface {}"þ"type.interface {}ÀÀçW runtime.algarray0bruntime.gcbits.0xcc000000000000000000000000000000P0go.string."interface {}"p4go.weak.type.*interface {}"runtime.zerovalueÀ"type.interface {}þ4go.string."[]interface {}"@>[]interface {} 4go.string."[]interface {}"þ&type.[]interface {} pê/ runtime.algarray0bruntime.gcbits.0x48844400000000000000000000000000P4go.string."[]interface {}"p8go.weak.type.*[]interface {}"runtime.zerovalue"type.interface {}þRgo.typelink.[]interface {}/[]interface {}&type.[]interface {}þTgclocals·3280bececceccd33cb74587feedb1f9fþTgclocals·2dc77d960dd3e4b3de2361f9cbd75783þTgclocals·44568aa369055d8938d809aa5d80843bþTgclocals·9c703c5c7b9c1932c840b69f8ebce236þ<type..hashfunc.[2]interface {}4type..hash.[2]interface {}þ8type..eqfunc.[2]interface {}0type..eq.[2]interface {}þ2type..alg.[2]interface {} <type..hashfunc.[2]interface {}8type..eqfunc.[2]interface {}þbruntime.gcbits.0xcccc0000000000000000000000000000 ÌÌþ6go.string."[2]interface {}"@@[2]interface {} 6go.string."[2]interface {}"þ(type.[2]interface {}ÀÀ ,Y¤ñ 2type..alg.[2]interface {}0bruntime.gcbits.0xcccc0000000000000000000000000000P6go.string."[2]interface {}"p:go.weak.type.*[2]interface {}"runtime.zerovalue"type.interface {} &type.[]interface {}þVgo.typelink.[2]interface {}/[2]interface {}(type.[2]interface {}þTgclocals·3280bececceccd33cb74587feedb1f9fþTgclocals·2dc77d960dd3e4b3de2361f9cbd75783þTgclocals·44568aa369055d8938d809aa5d80843bþTgclocals·9c703c5c7b9c1932c840b69f8ebce236þ<type..hashfunc.[1]interface {}4type..hash.[1]interface {}þ8type..eqfunc.[1]interface {}0type..eq.[1]interface {}þ2type..alg.[1]interface {} <type..hashfunc.[1]interface {}8type..eqfunc.[1]interface {}þ6go.string."[1]interface {}"@@[1]interface {} 6go.string."[1]interface {}"þ(type.[1]interface {}ÀÀP[ú 2type..alg.[1]interface {}0bruntime.gcbits.0xcc000000000000000000000000000000P6go.string."[1]interface {}"p:go.weak.type.*[1]interface {}"runtime.zerovalue"type.interface {} &type.[]interface {}þVgo.typelink.[1]interface {}/[1]interface {}(type.[1]interface {}þ8go.string."*[2]interface {}"PB*[2]interface {} 8go.string."*[2]interface {}"þ*type.*[2]interface {} ¾s-q6 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P8go.string."*[2]interface {}"p<go.weak.type.**[2]interface {}"runtime.zerovalue(type.[2]interface {}þ8go.string."*[1]interface {}"PB*[1]interface {} 8go.string."*[1]interface {}"þ*type.*[1]interface {} ¿¨56 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P8go.string."*[1]interface {}"p<go.weak.type.**[1]interface {}"runtime.zerovalue(type.[1]interface {}þTgclocals·3280bececceccd33cb74587feedb1f9fþTgclocals·2dc77d960dd3e4b3de2361f9cbd75783þTgclocals·e13351f28add7c60853cb3aac0a0e34eþTgclocals·9c703c5c7b9c1932c840b69f8ebce236þ0type..hashfunc."".Server(type..hash."".Serverþ,type..eqfunc."".Server$type..eq."".Serverþ&type..alg."".Server 0type..hashfunc."".Server,type..eqfunc."".Serverþbruntime.gcbits.0x488c884488c488488400000000000000 HDÄHþ6go.string."httptest.Server"@@httptest.Server 6go.string."httptest.Server"þgo.string."URL"0(URL go.string."URL"þ(go.string."Listener"@2Listener (go.string."Listener"þgo.string."TLS"0(TLS go.string."TLS"þ$go.string."Config"0.Config $go.string."Config"þgo.string."wg"0&wg go.string."wg"þ$go.string."Server"0.Server $go.string."Server"þtype."".Server HHËÉ (0* &type..alg."".Server0bruntime.gcbits.0x488c884488c488488400000000000000P6go.string."httptest.Server"ptype.*"".Server"runtime.zerovalueÀtype."".ServerÀgo.string."URL"àtype.string(go.string."Listener"°"type.net.Listeneràgo.string."TLS".type.*crypto/tls.Config°$go.string."Config"Ð*type.*net/http.Servergo.string."wg""go.importpath."". &type.sync.WaitGroup`Ðtype."".ServerÐ$go.string."Server"à"go.importpath."".ð type."".Serverþ8go.string."*httptest.Server"PB*httptest.Server 8go.string."*httptest.Server"þDgo.string."func(*httptest.Server)"PNfunc(*httptest.Server) Dgo.string."func(*httptest.Server)"þ*type.func(*"".Server)v:ÕX3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000PDgo.string."func(*httptest.Server)"p<go.weak.type.*func(*"".Server)"runtime.zerovalue *type.func(*"".Server)Ð*type.func(*"".Server)type.*"".ServerþDgo.string."CloseClientConnections"PNCloseClientConnections Dgo.string."CloseClientConnections"þ"go.string."Start"0,Start "go.string."Start"þ(go.string."StartTLS"@2StartTLS (go.string."StartTLS"þ.go.string."wrapHandler"@8wrapHandler .go.string."wrapHandler"þtype.*"".ServerÐÐ8Wí6D runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P8go.string."*httptest.Server"p0go.weak.type.**"".Server"runtime.zerovaluetype."".Server` type.*"".ServerÀðtype.*"".Serverð"go.string."Close"type.func() *type.func(*"".Server)°$"".(*Server).CloseÀ$"".(*Server).CloseÐDgo.string."CloseClientConnections"ðtype.func()*type.func(*"".Server)F"".(*Server).CloseClientConnections F"".(*Server).CloseClientConnections°"go.string."Start"Ðtype.func()à*type.func(*"".Server)ð$"".(*Server).Start$"".(*Server).Start(go.string."StartTLS"°type.func()À*type.func(*"".Server)Ð*"".(*Server).StartTLSà*"".(*Server).StartTLSð.go.string."wrapHandler""go.importpath."".type.func() *type.func(*"".Server)°0"".(*Server).wrapHandlerÀ0"".(*Server).wrapHandlerþTgclocals·3280bececceccd33cb74587feedb1f9fþTgclocals·2dc77d960dd3e4b3de2361f9cbd75783þTgclocals·44568aa369055d8938d809aa5d80843bþTgclocals·9c703c5c7b9c1932c840b69f8ebce236þDtype..hashfunc."".waitGroupHandler<type..hash."".waitGroupHandlerþ@type..eqfunc."".waitGroupHandler8type..eq."".waitGroupHandlerþ:type..alg."".waitGroupHandler Dtype..hashfunc."".waitGroupHandler@type..eqfunc."".waitGroupHandlerþLgo.string."*httptest.waitGroupHandler"`V*httptest.waitGroupHandler Lgo.string."*httptest.waitGroupHandler"þ go.string."func(*httptest.waitGroupHandler, http.ResponseWriter, *http.Request)"°ªDfunc(*httptest.waitGroupHandler, http.ResponseWriter, *http.Request) go.string."func(*httptest.waitGroupHandler, http.ResponseWriter, *http.Request)"þtype.func(*"".waitGroupHandler, net/http.ResponseWriter, *net/http.Request)°°?¿2Ä3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P go.string."func(*httptest.waitGroupHandler, http.ResponseWriter, *http.Request)"p¨go.weak.type.*func(*"".waitGroupHandler, net/http.ResponseWriter, *net/http.Request)"runtime.zerovalue type.func(*"".waitGroupHandler, net/http.ResponseWriter, *net/http.Request)аtype.func(*"".waitGroupHandler, net/http.ResponseWriter, *net/http.Request)2type.*"".waitGroupHandler8type.net/http.ResponseWriter ,type.*net/http.Requestþ*go.string."ServeHTTP"@4 ServeHTTP *go.string."ServeHTTP"þhgo.string."func(http.ResponseWriter, *http.Request)"r(func(http.ResponseWriter, *http.Request) hgo.string."func(http.ResponseWriter, *http.Request)"þjtype.func(net/http.ResponseWriter, *net/http.Request) ô3 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000Phgo.string."func(http.ResponseWriter, *http.Request)"p|go.weak.type.*func(net/http.ResponseWriter, *net/http.Request)"runtime.zerovalue jtype.func(net/http.ResponseWriter, *net/http.Request)Ð jtype.func(net/http.ResponseWriter, *net/http.Request)8type.net/http.ResponseWriter,type.*net/http.Requestþ2type.*"".waitGroupHandlerÐÐ7+é6 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000PLgo.string."*httptest.waitGroupHandler"pDgo.weak.type.**"".waitGroupHandler"runtime.zerovalue0type."".waitGroupHandler` 2type.*"".waitGroupHandlerÀð2type.*"".waitGroupHandlerð*go.string."ServeHTTP"jtype.func(net/http.ResponseWriter, *net/http.Request) type.func(*"".waitGroupHandler, net/http.ResponseWriter, *net/http.Request)°@"".(*waitGroupHandler).ServeHTTPÀ@"".(*waitGroupHandler).ServeHTTPþbruntime.gcbits.0xc8888c00000000000000000000000000 ÈþJgo.string."httptest.waitGroupHandler"`Thttptest.waitGroupHandler Jgo.string."httptest.waitGroupHandler"þgo.string."s"0$s go.string."s"þgo.string."h"0$h go.string."h"þ8go.string."waitGroupHandler"PBwaitGroupHandler 8go.string."waitGroupHandler"þ0type."".waitGroupHandler°°Y¾ÿÏ :type..alg."".waitGroupHandler0bruntime.gcbits.0xc8888c00000000000000000000000000PJgo.string."httptest.waitGroupHandler"p2type.*"".waitGroupHandler"runtime.zerovalueÀ0type."".waitGroupHandlerÀgo.string."s"Ð"go.importpath."".àtype.*"".Servergo.string."h" "go.importpath."".°*type.net/http.Handler`à0type."".waitGroupHandlerà8go.string."waitGroupHandler"ð"go.importpath."".°0type."".waitGroupHandlerþ(go.string."[]string"@2[]string (go.string."[]string"þtype.[]string Ó¨ó |
| runtime.algarray0bruntime.gcbits.0x48844400000000000000000000000000P(go.string."[]string"p,go.weak.type.*[]string"runtime.zerovaluetype.stringþ:go.typelink.[]string/[]stringtype.[]stringþTgclocals·3280bececceccd33cb74587feedb1f9fþTgclocals·2dc77d960dd3e4b3de2361f9cbd75783þTgclocals·44568aa369055d8938d809aa5d80843bþTgclocals·9c703c5c7b9c1932c840b69f8ebce236þ0type..hashfunc.[1]string(type..hash.[1]stringþ,type..eqfunc.[1]string$type..eq.[1]stringþ&type..alg.[1]string 0type..hashfunc.[1]string,type..eqfunc.[1]stringþbruntime.gcbits.0x48000000000000000000000000000000 Hþ*go.string."[1]string"@4 [1]string *go.string."[1]string"þtype.[1]stringÀÀĸb &type..alg.[1]string0bruntime.gcbits.0x48000000000000000000000000000000P*go.string."[1]string"p.go.weak.type.*[1]string"runtime.zerovaluetype.string type.[]stringþ>go.typelink.[1]string/[1]stringtype.[1]stringþ:go.string."[]tls.Certificate"PD[]tls.Certificate :go.string."[]tls.Certificate"þ:type.[]crypto/tls.Certificate ½îBÝ runtime.algarray0bruntime.gcbits.0x48844400000000000000000000000000P:go.string."[]tls.Certificate"pLgo.weak.type.*[]crypto/tls.Certificate"runtime.zerovalue6type.crypto/tls.Certificateþlgo.typelink.[]tls.Certificate/[]crypto/tls.Certificate:type.[]crypto/tls.Certificateþbruntime.gcbits.0x48c48c448844cc488400000000000000 HÄDDÌHþ<go.string."[1]tls.Certificate"PF[1]tls.Certificate <go.string."[1]tls.Certificate"þ<type.[1]crypto/tls.CertificateÀÀH!r¬ à runtime.algarray0bruntime.gcbits.0x48c48c448844cc488400000000000000P<go.string."[1]tls.Certificate"pNgo.weak.type.*[1]crypto/tls.Certificate"runtime.zerovalue6type.crypto/tls.Certificate :type.[]crypto/tls.Certificateþpgo.typelink.[1]tls.Certificate/[1]crypto/tls.Certificate<type.[1]crypto/tls.Certificateþ,go.string."*[1]string"@6 |
| *[1]string ,go.string."*[1]string"þtype.*[1]string l.!ä6 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P,go.string."*[1]string"p0go.weak.type.**[1]string"runtime.zerovaluetype.[1]stringþ>go.string."*[1]tls.Certificate"PH*[1]tls.Certificate >go.string."*[1]tls.Certificate"þ>type.*[1]crypto/tls.Certificate Y |
| õµ6 runtime.algarray0bruntime.gcbits.0x88000000000000000000000000000000P>go.string."*[1]tls.Certificate"pPgo.weak.type.**[1]crypto/tls.Certificate"runtime.zerovalue<type.[1]crypto/tls.Certificateþgo.string."net"0(net go.string."net"þ$go.importpath.net. go.string."net"þ go.string."sync"0*sync go.string."sync"þ&go.importpath.sync. go.string."sync"þ go.string."flag"0*flag go.string."flag"þ&go.importpath.flag. go.string."flag"þ&go.string."runtime"00runtime &go.string."runtime"þ,go.importpath.runtime. &go.string."runtime"þ,go.string."crypto/tls"@6 |
| crypto/tls ,go.string."crypto/tls"þ2go.importpath.crypto/tls. |
| ,go.string."crypto/tls"þ(go.string."net/http"@2net/http (go.string."net/http"þ.go.importpath.net/http. (go.string."net/http"þgo.string."os"0&os go.string."os"þ"go.importpath.os. go.string."os"þgo.string."fmt"0(fmt go.string."fmt"þ$go.importpath.fmt. go.string."fmt"þ"go.string."bytes"0,bytes "go.string."bytes"þ(go.importpath.bytes. "go.string."bytes"þ:"".(*historyListener).Addr·f4"".(*historyListener).Addrþ4"".historyListener.Addr·f."".historyListener.Addrþ<"".(*historyListener).Close·f6"".(*historyListener).Closeþ6"".historyListener.Close·f0"".historyListener.Closeþ:"".(*historyListener).Lock·f4"".(*historyListener).Lockþ>"".(*historyListener).Unlock·f8"".(*historyListener).Unlockþ:type..hash.[2]interface {}·f4type..hash.[2]interface {}þ.runtime.nilinterhash·f(runtime.nilinterhashþ6type..eq.[2]interface {}·f0type..eq.[2]interface {}þ$runtime.efaceeq·fruntime.efaceeqþ:type..hash.[1]interface {}·f4type..hash.[1]interface {}þ6type..eq.[1]interface {}·f0type..eq.[1]interface {}þ.type..hash."".Server·f(type..hash."".Serverþ$runtime.strhash·fruntime.strhashþ(runtime.interhash·f"runtime.interhashþ$runtime.memhash·fruntime.memhashþ*type..eq."".Server·f$type..eq."".Serverþ&runtime.eqstring·f runtime.eqstringþ$runtime.ifaceeq·fruntime.ifaceeqþ&runtime.memequal·f runtime.memequalþBtype..hash."".waitGroupHandler·f<type..hash."".waitGroupHandlerþ>type..eq."".waitGroupHandler·f8type..eq."".waitGroupHandlerþ.type..hash.[1]string·f(type..hash.[1]stringþ*type..eq.[1]string·f$type..eq.[1]stringþ"runtime.zerovalueÿÿgo13ld |