Skip to content

Latest commit

 

History

82 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

test Go Reference

forwarded-header

Parser of HTTP Forward Header defined by RFC 7239: Forwarded HTTP Extension.

Synopsis

package main

import (
	"fmt"
	"net/http"
	"net/netip"
	"os"

	forwardedheader "github.com/shogo82148/forwarded-header"
)

func main() {
	// build the Forwarded Header
	forwarded := []*forwardedheader.Forwarded{
		{
			For: forwardedheader.Node{
				IP: netip.MustParseAddr("192.0.2.60"),
			},
			Proto: "http",
			By: forwardedheader.Node{
				IP: netip.MustParseAddr("203.0.113.43"),
			},
		},
	}
	header := make(http.Header)
	header.Set("Forwarded", forwardedheader.Encode(forwarded))
	header.Write(os.Stdout)
	// Output:
	// Forwarded: by=203.0.113.43;for=192.0.2.60;proto=http

	// parse the Forwarded Header
	parsed, err := forwardedheader.Parse(header.Values("Forwarded"))
	if err != nil {
		panic(err)
	}
	for _, f := range parsed {
		fmt.Println(f)
	}
	// Output:
	// by=203.0.113.43;for=192.0.2.60;proto=http
}

References

About

Parser of HTTP Forward Header

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages