squash merge from dev branch
This commit is contained in:
46
vendor/gopkg.in/alecthomas/kingpin.v2/examples_test.go
generated
vendored
Normal file
46
vendor/gopkg.in/alecthomas/kingpin.v2/examples_test.go
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
package kingpin
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type HTTPHeaderValue http.Header
|
||||
|
||||
func (h *HTTPHeaderValue) Set(value string) error {
|
||||
parts := strings.SplitN(value, ":", 2)
|
||||
if len(parts) != 2 {
|
||||
return fmt.Errorf("expected HEADER:VALUE got '%s'", value)
|
||||
}
|
||||
(*http.Header)(h).Add(parts[0], parts[1])
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *HTTPHeaderValue) Get() interface{} {
|
||||
return (http.Header)(*h)
|
||||
}
|
||||
|
||||
func (h *HTTPHeaderValue) String() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func HTTPHeader(s Settings) (target *http.Header) {
|
||||
target = new(http.Header)
|
||||
s.SetValue((*HTTPHeaderValue)(target))
|
||||
return
|
||||
}
|
||||
|
||||
// This example ilustrates how to define custom parsers. HTTPHeader
|
||||
// cumulatively parses each encountered --header flag into a http.Header struct.
|
||||
func ExampleValue() {
|
||||
var (
|
||||
curl = New("curl", "transfer a URL")
|
||||
headers = HTTPHeader(curl.Flag("headers", "Add HTTP headers to the request.").Short('H').PlaceHolder("HEADER:VALUE"))
|
||||
)
|
||||
|
||||
curl.Parse([]string{"-H Content-Type:application/octet-stream"})
|
||||
for key, value := range *headers {
|
||||
fmt.Printf("%s = %s\n", key, value)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user