https://github.com/sebest/xff
A Golang Middleware to handle X-Forwarded-For Header
https://github.com/sebest/xff
Last synced: 7 months ago
JSON representation
A Golang Middleware to handle X-Forwarded-For Header
- Host: GitHub
- URL: https://github.com/sebest/xff
- Owner: sebest
- License: mit
- Created: 2014-12-22T10:29:05.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2022-01-18T20:54:49.000Z (almost 4 years ago)
- Last Synced: 2024-11-16T23:32:36.548Z (about 1 year ago)
- Language: Go
- Size: 13.7 KB
- Stars: 98
- Watchers: 3
- Forks: 26
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - XFF - Handle `X-Forwarded-For` header and friends. (Web Frameworks / Middlewares)
- awesome-go-cn - XFF - Forwarded-For 头的中间件。 [![近三年未更新][Y]](https://github.com/sebest/xff) [![godoc][D]](https://godoc.org/github.com/sebest/xff) (Web框架 / 中间件)
- awesome-go-plus - XFF - Handle `X-Forwarded-For` header and friends.  (Web Frameworks / Middlewares)
- fucking-awesome-go - :octocat: XFF - Handle `X-Forwarded-For` header and friends. :star: 48 :fork_and_knife: 7 (Web Frameworks / Middlewares)
- awesome-go-cn - XFF - Forwarded-For`头的中间件 (中间件 / 中间件)
- fucking-awesome-go - XFF - Handle `X-Forwarded-For` header and friends. (Web Frameworks / Middlewares)
- awesome-go - XFF - Forwarded-For` header and friends. | - | - | - | (Web Frameworks / Middlewares)
- awesome-go - XFF - Handle `X-Forwarded-For` header and friends. (Web Frameworks / Middlewares)
- awesome-go - xff - A Golang Middleware to handle X-Forwarded-For Header - ★ 68 (Web Frameworks)
- awesome-go - XFF - Handle `X-Forwarded-For` header and friends. - :arrow_down:24 - :star:51 (Web Frameworks / Middlewares)
- awesome-go - XFF - Handle `X-Forwarded-For` header and friends. (Web Frameworks / Middlewares)
- awesome-go-zh - XFF - Forwarded-For`标题和朋友. (Web框架 / 中间件)
- awesome-go - XFF - Handle `X-Forwarded-For` header and friends. (Web Frameworks / Middlewares)
- awesome-go-extra - xff - Forwarded-For Header|91|23|8|2014-12-22T10:29:05Z|2022-01-18T20:54:49Z| (Web Frameworks / Fail injection)
- awesome-go - XFF - Handle `X-Forwarded-For` header and friends. (Web Frameworks / Middlewares)
- awesome-go-cn - XFF - Forwarded-For`标题和朋友。 (Handle `X-Forwarded-For` header and friends.) (Web框架 / Middlewares)
- awesome-go - XFF - Handle `X-Forwarded-For` header and friends. (Web Frameworks / Middlewares)
- awesome-go-with-stars - XFF - Handle `X-Forwarded-For` header and friends. (Web Frameworks / Middlewares)
- awesome-go - XFF - Handle `X-Forwarded-For` header and friends. (Web Frameworks / Middlewares)
- awesome-go - XFF - Handle `X-Forwarded-For` header and friends. (Web Frameworks / Middlewares)
- awesome-go-cn - XFF - Forwarded-For 头的中间件。 [![godoc][D]](https://godoc.org/github.com/sebest/xff) (Web框架 / 中间件)
- awesome-Char - XFF - Handle `X-Forwarded-For` header and friends. (Web Frameworks / Middlewares)
README
# X-Forwarded-For middleware fo Go [](https://godoc.org/github.com/sebest/xff) [](https://travis-ci.org/sebest/xff)
Package `xff` is a `net/http` middleware/handler to parse [Forwarded HTTP Extension](http://tools.ietf.org/html/rfc7239) in Golang.
## Example usage
Install `xff`:
go get github.com/sebest/xff
Edit `server.go`:
```go
package main
import (
"net/http"
"github.com/sebest/xff"
)
func main() {
handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("hello from " + r.RemoteAddr + "\n"))
})
xffmw, _ := xff.Default()
http.ListenAndServe(":8080", xffmw.Handler(handler))
}
```
Then run your server:
go run server.go
The server now runs on `localhost:8080`:
$ curl -D - -H 'X-Forwarded-For: 42.42.42.42' http://localhost:8080/
HTTP/1.1 200 OK
Date: Fri, 20 Feb 2015 20:03:02 GMT
Content-Length: 29
Content-Type: text/plain; charset=utf-8
hello from 42.42.42.42:52661