Popularity
3.3
Stable
Activity
3.9
-
46
5
14

Programming language: Go
License: MIT License
Tags: Utilities    
Latest version: v0.2.1

go-httpheader alternatives and similar packages

Based on the "Utilities" category.
Alternatively, view go-httpheader alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of go-httpheader or a related project?

Add another 'Utilities' Package

README

go-httpheader

go-httpheader is a Go library for encoding structs into Header fields.

Build Status Coverage Status Go Report Card GoDoc

install

go get -u github.com/mozillazg/go-httpheader

usage

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"},
    //}
}