http

package module
v1.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2023 License: MIT Imports: 7 Imported by: 0

README

go-http

Introduction

This is a library implemented in Go (Golang) that provides some functionality to deal with HTTP requests and headers.

Usage

Install in your ${GOPATH} using go get -u github.com/THREATINT/go-http.

AcceptLanguage

Use ParseAcceptLanguage() to parse browser Accept-Language headers like

fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5

Please see e.g. MDN (Mozilla Developer Network) for general information on Accept-Language.

ClientIP

ClientIP() returns the client ip address from HTTP headers. It works with X-Forwarded-For (used by most reverse proxies) and is aware of True-Client-IP and CF-Connecting-IP (both implemented by CloudFlare).

MimeType

MimeTypeByExtension() provides a mapping for know file extension to mime type (e.g. .html -> text/html) based on the builtin mime.TypeByExtension and svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types.

Part of the source code for this functionality is generated by GenMimeType.py. (also provided in this repository)

Feedback

We would love to hear from you! Please contact us at help@threatint.com for feedback and general requests.

Kindly raise an issue in Github if you find a problem in the code.

Subscribe to our mailing list to learn more about our work.

License

Release under the MIT License. (see LICENSE)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClientIP added in v1.1.2

func ClientIP(r *http.Request) (string, error)

GetClientIP (request) Returns the client ip address from HTTP headers

func MimeTypeByExtension

func MimeTypeByExtension(extension string) string

MimeTypeByExtension (extension) Return matching MimeType for file extension

Types

type AcceptedLanguage

type AcceptedLanguage struct {
	Lang string
	Q    float64
}

AcceptedLanguage struct Language and q-factor weighting

func ParseAcceptLanguage

func ParseAcceptLanguage(acceptLanguage string) []AcceptedLanguage

ParseAcceptLanguage (acceptLanguage) Use to parse browser 'Accept-Language' header including accepted language and q-factor weighting e. g. 'fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5'

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL