File: control

package info (click to toggle)
golang-github-hashicorp-go-cleanhttp 0.0~git20160217.0.875fb67-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch, stretch-backports
  • size: 88 kB
  • ctags: 6
  • sloc: makefile: 2
file content (42 lines) | stat: -rw-r--r-- 2,146 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Source: golang-github-hashicorp-go-cleanhttp
Section: devel
Priority: extra
Maintainer: Debian Go Packaging Team <pkg-go-maintainers@lists.alioth.debian.org>
Uploaders: Tianon Gravi <tianon@debian.org>
Build-Depends: debhelper (>= 9), dh-golang, golang-go
Standards-Version: 3.9.7
Homepage: https://github.com/hashicorp/go-cleanhttp
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-go/packages/golang-github-hashicorp-go-cleanhttp.git
Vcs-Git: git://anonscm.debian.org/pkg-go/packages/golang-github-hashicorp-go-cleanhttp.git
XS-Go-Import-Path: github.com/hashicorp/go-cleanhttp

Package: golang-github-hashicorp-go-cleanhttp-dev
Architecture: all
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: Functions for accessing "clean" Go http.Client values
 The Go standard library contains a default http.Client called
 http.DefaultClient. It is a common idiom in Go code to start with
 http.DefaultClient and tweak it as necessary, and in fact, this is encouraged;
 from the http package documentation:
 .
   The Client's Transport typically has internal state (cached TCP connections),
   so Clients should be reused instead of created as needed. Clients are safe
   for concurrent use by multiple goroutines.
 .
 Unfortunately, this is a shared value, and it is not uncommon for libraries to
 assume that they are free to modify it at will. With enough dependencies, it
 can be very easy to encounter strange problems and race conditions due to
 manipulation of this shared value across libraries and goroutines (clients are
 safe for concurrent use, but writing values to the client struct itself is not
 protected).
 .
 Making things worse is the fact that a bare http.Client will use a default
 http.Transport called http.DefaultTransport, which is another global value that
 behaves the same way. So it is not simply enough to replace http.DefaultClient
 with &http.Client{}.
 .
 This repository provides some simple functions to get a "clean" http.Client --
 one that uses the same default values as the Go standard library, but returns a
 client that does not share any state with other clients.
 .
 This package contains the source.