64 lines
1.7 KiB
Markdown
64 lines
1.7 KiB
Markdown
![]() |
# go-httpheader
|
||
|
|
||
|
go-httpheader is a Go library for encoding structs into Header fields.
|
||
|
|
||
|
[![Build Status](https://img.shields.io/travis/mozillazg/go-httpheader/master.svg)](https://travis-ci.org/mozillazg/go-httpheader)
|
||
|
[![Coverage Status](https://img.shields.io/coveralls/mozillazg/go-httpheader/master.svg)](https://coveralls.io/r/mozillazg/go-httpheader?branch=master)
|
||
|
[![Go Report Card](https://goreportcard.com/badge/github.com/mozillazg/go-httpheader)](https://goreportcard.com/report/github.com/mozillazg/go-httpheader)
|
||
|
[![GoDoc](https://godoc.org/github.com/mozillazg/go-httpheader?status.svg)](https://godoc.org/github.com/mozillazg/go-httpheader)
|
||
|
|
||
|
## install
|
||
|
|
||
|
`go get -u github.com/mozillazg/go-httpheader`
|
||
|
|
||
|
|
||
|
## usage
|
||
|
|
||
|
```go
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"net/http"
|
||
|
|
||
|
"github.com/mozillazg/go-httpheader"
|
||
|
)
|
||
|
|
||
|
type Options struct {
|
||
|
hide string
|
||
|
ContentType string `header:"Content-Type"`
|
||
|
Length int
|
||
|
XArray []string `header:"X-Array"`
|
||
|
TestHide string `header:"-"`
|
||
|
IgnoreEmpty string `header:"X-Empty,omitempty"`
|
||
|
IgnoreEmptyN string `header:"X-Empty-N,omitempty"`
|
||
|
CustomHeader http.Header
|
||
|
}
|
||
|
|
||
|
func main() {
|
||
|
opt := Options{
|
||
|
hide: "hide",
|
||
|
ContentType: "application/json",
|
||
|
Length: 2,
|
||
|
XArray: []string{"test1", "test2"},
|
||
|
TestHide: "hide",
|
||
|
IgnoreEmptyN: "n",
|
||
|
CustomHeader: http.Header{
|
||
|
"X-Test-1": []string{"233"},
|
||
|
"X-Test-2": []string{"666"},
|
||
|
},
|
||
|
}
|
||
|
h, _ := httpheader.Header(opt)
|
||
|
fmt.Printf("%#v", h)
|
||
|
// h:
|
||
|
// http.Header{
|
||
|
// "X-Test-1": []string{"233"},
|
||
|
// "X-Test-2": []string{"666"},
|
||
|
// "Content-Type": []string{"application/json"},
|
||
|
// "Length": []string{"2"},
|
||
|
// "X-Array": []string{"test1", "test2"},
|
||
|
// "X-Empty-N": []string{"n"},
|
||
|
//}
|
||
|
}
|
||
|
```
|