├── .gitignore ├── .golangci.yml ├── .travis.yml ├── LICENSE ├── Makefile ├── README.md ├── charclass.go ├── common_test.go ├── doc.go ├── example_test.go ├── ext_value.go ├── fuzz ├── Accept.fuzz │ ├── code.go.in │ └── corpus │ │ └── 01.in ├── Authorization.fuzz │ ├── code.go.in │ └── corpus │ │ ├── 01.in │ │ └── 02.in ├── Cache-Control.fuzz │ ├── code.go.in │ └── corpus │ │ ├── 01.in │ │ ├── 02.in │ │ ├── 03.in │ │ ├── 04.in │ │ └── 05.in ├── Content-Disposition.fuzz │ ├── code.go.in │ └── corpus │ │ ├── 01.in │ │ ├── 02.in │ │ └── 03.in ├── Forwarded.fuzz │ ├── code.go.in │ └── corpus │ │ ├── 01.in │ │ └── 02.in ├── If-Match.fuzz │ ├── code.go.in │ └── corpus │ │ ├── 01.in │ │ ├── 02.in │ │ └── 03.in ├── Link.fuzz │ ├── code.go.in │ └── corpus │ │ ├── 01.in │ │ ├── 02.in │ │ ├── 03.in │ │ └── 04.in ├── Makefile ├── Prefer.fuzz │ ├── code.go.in │ └── corpus │ │ ├── 01.in │ │ └── 02.in ├── README.md ├── User-Agent.fuzz │ ├── code.go.in │ └── corpus │ │ └── 01.in ├── Via.fuzz │ ├── code.go.in │ └── corpus │ │ ├── 01.in │ │ ├── 02.in │ │ └── 03.in ├── WWW-Authenticate.fuzz │ ├── code.go.in │ └── corpus │ │ ├── 01.in │ │ ├── 02.in │ │ └── 03.in ├── Warning.fuzz │ ├── code.go.in │ └── corpus │ │ ├── 01.in │ │ └── 02.in └── fuzz.go ├── go.mod ├── go.sum ├── prim.go ├── rfc6266.go ├── rfc6266_test.go ├── rfc7230.go ├── rfc7230_test.go ├── rfc7231.go ├── rfc7231_test.go ├── rfc7232.go ├── rfc7232_test.go ├── rfc7234.go ├── rfc7234_test.go ├── rfc7235.go ├── rfc7235_test.go ├── rfc7239.go ├── rfc7239_test.go ├── rfc7240.go ├── rfc7240_test.go ├── rfc8288.go └── rfc8288_test.go /.gitignore: -------------------------------------------------------------------------------- 1 | coverage.txt 2 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/.golangci.yml -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/README.md -------------------------------------------------------------------------------- /charclass.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/charclass.go -------------------------------------------------------------------------------- /common_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/common_test.go -------------------------------------------------------------------------------- /doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/doc.go -------------------------------------------------------------------------------- /example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/example_test.go -------------------------------------------------------------------------------- /ext_value.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/ext_value.go -------------------------------------------------------------------------------- /fuzz/Accept.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Accept.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/Accept.fuzz/corpus/01.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Accept.fuzz/corpus/01.in -------------------------------------------------------------------------------- /fuzz/Authorization.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Authorization.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/Authorization.fuzz/corpus/01.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Authorization.fuzz/corpus/01.in -------------------------------------------------------------------------------- /fuzz/Authorization.fuzz/corpus/02.in: -------------------------------------------------------------------------------- 1 | Bearer qUrjW0JXVAo= -------------------------------------------------------------------------------- /fuzz/Cache-Control.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Cache-Control.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/Cache-Control.fuzz/corpus/01.in: -------------------------------------------------------------------------------- 1 | no-store, no-cache, max-age=300 -------------------------------------------------------------------------------- /fuzz/Cache-Control.fuzz/corpus/02.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Cache-Control.fuzz/corpus/02.in -------------------------------------------------------------------------------- /fuzz/Cache-Control.fuzz/corpus/03.in: -------------------------------------------------------------------------------- 1 | immutable, private="Foo,Bar" -------------------------------------------------------------------------------- /fuzz/Cache-Control.fuzz/corpus/04.in: -------------------------------------------------------------------------------- 1 | no-cache="Foo,Bar", max-stale -------------------------------------------------------------------------------- /fuzz/Cache-Control.fuzz/corpus/05.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Cache-Control.fuzz/corpus/05.in -------------------------------------------------------------------------------- /fuzz/Content-Disposition.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Content-Disposition.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/Content-Disposition.fuzz/corpus/01.in: -------------------------------------------------------------------------------- 1 | inline -------------------------------------------------------------------------------- /fuzz/Content-Disposition.fuzz/corpus/02.in: -------------------------------------------------------------------------------- 1 | attachment; filename="hello.txt" -------------------------------------------------------------------------------- /fuzz/Content-Disposition.fuzz/corpus/03.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Content-Disposition.fuzz/corpus/03.in -------------------------------------------------------------------------------- /fuzz/Forwarded.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Forwarded.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/Forwarded.fuzz/corpus/01.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Forwarded.fuzz/corpus/01.in -------------------------------------------------------------------------------- /fuzz/Forwarded.fuzz/corpus/02.in: -------------------------------------------------------------------------------- 1 | for="203.0.113.1:12345";by="[2001:db8::1]:8080" -------------------------------------------------------------------------------- /fuzz/If-Match.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/If-Match.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/If-Match.fuzz/corpus/01.in: -------------------------------------------------------------------------------- 1 | * -------------------------------------------------------------------------------- /fuzz/If-Match.fuzz/corpus/02.in: -------------------------------------------------------------------------------- 1 | "foo bar" -------------------------------------------------------------------------------- /fuzz/If-Match.fuzz/corpus/03.in: -------------------------------------------------------------------------------- 1 | W/"foo", W/"bar" -------------------------------------------------------------------------------- /fuzz/Link.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Link.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/Link.fuzz/corpus/01.in: -------------------------------------------------------------------------------- 1 | ;rel=x -------------------------------------------------------------------------------- /fuzz/Link.fuzz/corpus/02.in: -------------------------------------------------------------------------------- 1 | <../>;rel=x -------------------------------------------------------------------------------- /fuzz/Link.fuzz/corpus/03.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Link.fuzz/corpus/03.in -------------------------------------------------------------------------------- /fuzz/Link.fuzz/corpus/04.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Link.fuzz/corpus/04.in -------------------------------------------------------------------------------- /fuzz/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Makefile -------------------------------------------------------------------------------- /fuzz/Prefer.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Prefer.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/Prefer.fuzz/corpus/01.in: -------------------------------------------------------------------------------- 1 | handling=strict, return=minimal, wait=10 -------------------------------------------------------------------------------- /fuzz/Prefer.fuzz/corpus/02.in: -------------------------------------------------------------------------------- 1 | foo="bar \"baz\"", qux -------------------------------------------------------------------------------- /fuzz/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/README.md -------------------------------------------------------------------------------- /fuzz/User-Agent.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/User-Agent.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/User-Agent.fuzz/corpus/01.in: -------------------------------------------------------------------------------- 1 | Mozilla/5.0 (foo; bar) Baz -------------------------------------------------------------------------------- /fuzz/Via.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Via.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/Via.fuzz/corpus/01.in: -------------------------------------------------------------------------------- 1 | 1.1 foo, 2 bar -------------------------------------------------------------------------------- /fuzz/Via.fuzz/corpus/02.in: -------------------------------------------------------------------------------- 1 | 1.0 [foo,bar=baz] (qux (xyzzy)) -------------------------------------------------------------------------------- /fuzz/Via.fuzz/corpus/03.in: -------------------------------------------------------------------------------- 1 | QUX/3 foo -------------------------------------------------------------------------------- /fuzz/WWW-Authenticate.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/WWW-Authenticate.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/WWW-Authenticate.fuzz/corpus/01.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/WWW-Authenticate.fuzz/corpus/01.in -------------------------------------------------------------------------------- /fuzz/WWW-Authenticate.fuzz/corpus/02.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/WWW-Authenticate.fuzz/corpus/02.in -------------------------------------------------------------------------------- /fuzz/WWW-Authenticate.fuzz/corpus/03.in: -------------------------------------------------------------------------------- 1 | Foo bar=, baz -------------------------------------------------------------------------------- /fuzz/Warning.fuzz/code.go.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Warning.fuzz/code.go.in -------------------------------------------------------------------------------- /fuzz/Warning.fuzz/corpus/01.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/Warning.fuzz/corpus/01.in -------------------------------------------------------------------------------- /fuzz/Warning.fuzz/corpus/02.in: -------------------------------------------------------------------------------- 1 | 199 bar.test:8765 "baz \"qux\"" "Fri, 19 Jul 2019 10:54:28 GMT" -------------------------------------------------------------------------------- /fuzz/fuzz.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/fuzz/fuzz.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/vfaronov/httpheader 2 | 3 | go 1.11 4 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /prim.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/prim.go -------------------------------------------------------------------------------- /rfc6266.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc6266.go -------------------------------------------------------------------------------- /rfc6266_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc6266_test.go -------------------------------------------------------------------------------- /rfc7230.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7230.go -------------------------------------------------------------------------------- /rfc7230_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7230_test.go -------------------------------------------------------------------------------- /rfc7231.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7231.go -------------------------------------------------------------------------------- /rfc7231_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7231_test.go -------------------------------------------------------------------------------- /rfc7232.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7232.go -------------------------------------------------------------------------------- /rfc7232_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7232_test.go -------------------------------------------------------------------------------- /rfc7234.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7234.go -------------------------------------------------------------------------------- /rfc7234_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7234_test.go -------------------------------------------------------------------------------- /rfc7235.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7235.go -------------------------------------------------------------------------------- /rfc7235_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7235_test.go -------------------------------------------------------------------------------- /rfc7239.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7239.go -------------------------------------------------------------------------------- /rfc7239_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7239_test.go -------------------------------------------------------------------------------- /rfc7240.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7240.go -------------------------------------------------------------------------------- /rfc7240_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc7240_test.go -------------------------------------------------------------------------------- /rfc8288.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc8288.go -------------------------------------------------------------------------------- /rfc8288_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vfaronov/httpheader/HEAD/rfc8288_test.go --------------------------------------------------------------------------------