Package: golang-github-hashicorp-go-cleanhttp-dev (0.5.0-1.1)
Links for golang-github-hashicorp-go-cleanhttp-dev
Debian Resources:
Download Source Package golang-github-hashicorp-go-cleanhttp:
- [golang-github-hashicorp-go-cleanhttp_0.5.0-1.1.dsc]
- [golang-github-hashicorp-go-cleanhttp_0.5.0.orig.tar.gz]
- [golang-github-hashicorp-go-cleanhttp_0.5.0-1.1.debian.tar.xz]
Maintainers:
- Debian Go Packaging Team (QA Page)
- Tianon Gravi (QA Page)
- Tim Potter (QA Page)
- Anthony Fok (QA Page)
External Resources:
- Homepage [github.com]
Similar packages:
Funktioner for tilgang til »clean« go http.Client-værdier
Standardbiblioteket for Go indeholder en http.Client kaldt http.Defalutclient. Det er en gængs idiom i Go-kode at starte med http.DefaultClient og finjustere den efter behov, og dette opmuntres man også til af http-pakkedokumentationen.
Klientens transport har typisk en intern tilstand (mellemlagrede TCP-forbindelser), så klienter skal genbruges i stedet for at blive oprettet efter behov. Klienter er sikre i samtidig brug af flere go-rutiner.
Desværre er dette en delt værdi, og det er ikke usædvanligt for biblioteker at antage, at de er frie til at blive ændret efter behov. Med nok afhængigheder kan det være meget nemt at møde mærkelige problemer og race-betingelser på grund af manipulering af denne delte værdi på tværs af biblioteker og go-rutiner (klienter er sikre for samtidig brug, men skrivning af værdier til selve klientstrukturen er ikke beskyttet).
Hvad der gør tingene værre er, at en ren http.Client vil bruge en standard-http kaldt http.DefaultTransport, som er endnu en global værdi som opfører sig på samme måde. Så det er ikke nok bare at erstatte http.DefaultClient med &http.Client{}.
Dette arkiv tilbyder nogle simple funktioner til at få en »clean« http.Client - en som bruger de samme standardværdier som Go's standardbibliotek, men returnerer en klient som ikke deler en tilstand med andre klienter.
Denne pakke indeholder kilden.
Download golang-github-hashicorp-go-cleanhttp-dev
Architecture | Package Size | Installed Size | Files |
---|---|---|---|
all | 9.5 kB | 37.0 kB | [list of files] |