github.com/influx6/npkg@v0.8.8/nhttp/defaults.go (about)

     1  package nhttp
     2  
     3  import "time"
     4  
     5  // Time constants
     6  const (
     7  	TwentyFourHours   = 86400
     8  	FourthyEightHours = 2 * TwentyFourHours
     9  
    10  	TwentyFourHoursDuration   = TwentyFourHours * time.Second
    11  	FourthyEightHoursDuration = TwentyFourHoursDuration * 2
    12  )
    13  
    14  // HTTP methods
    15  const (
    16  	CONNECT = "CONNECT"
    17  	DELETE  = "DELETE"
    18  	GET     = "GET"
    19  	HEAD    = "HEAD"
    20  	OPTIONS = "OPTIONS"
    21  	PATCH   = "PATCH"
    22  	POST    = "POST"
    23  	PUT     = "PUT"
    24  	TRACE   = "TRACE"
    25  )
    26  
    27  // MIME types
    28  const (
    29  	MIMEApplicationJSON                  = "application/json"
    30  	MIMEApplicationJSONCharsetUTF8       = MIMEApplicationJSON + "; " + charsetUTF8
    31  	MIMEApplicationJavaScript            = "application/javascript"
    32  	MIMEApplicationJavaScriptCharsetUTF8 = MIMEApplicationJavaScript + "; " + charsetUTF8
    33  	MIMEApplicationXML                   = "application/xml"
    34  	MIMEApplicationXMLCharsetUTF8        = MIMEApplicationXML + "; " + charsetUTF8
    35  	MIMETextXML                          = "text/xml"
    36  	MIMETextXMLCharsetUTF8               = MIMETextXML + "; " + charsetUTF8
    37  	MIMEApplicationForm                  = "application/x-www-form-urlencoded"
    38  	MIMEApplicationProtobuf              = "application/protobuf"
    39  	MIMEApplicationMsgpack               = "application/msgpack"
    40  	MIMETextHTML                         = "text/html"
    41  	MIMETextHTMLCharsetUTF8              = MIMETextHTML + "; " + charsetUTF8
    42  	MIMETextPlain                        = "text/plain"
    43  	MIMETextPlainCharsetUTF8             = MIMETextPlain + "; " + charsetUTF8
    44  	MIMEMultipartForm                    = "multipart/form-data"
    45  	MIMEOctetStream                      = "application/octet-stream"
    46  )
    47  
    48  const (
    49  	charsetUTF8 = "charset=UTF-8"
    50  )
    51  
    52  // Headers
    53  const (
    54  	HeaderAccept              = "Accept"
    55  	HeaderAcceptEncoding      = "Accept-Encoding"
    56  	HeaderAllow               = "Allow"
    57  	HeaderAuthorization       = "Authorization"
    58  	HeaderContentDisposition  = "Content-Disposition"
    59  	HeaderContentEncoding     = "Content-Encoding"
    60  	HeaderContentLength       = "Content-Length"
    61  	HeaderContentType         = "Content-Type"
    62  	HeaderCookie              = "Cookie"
    63  	HeaderSetCookie           = "Set-Cookie"
    64  	HeaderIfModifiedSince     = "If-Modified-Since"
    65  	HeaderLastModified        = "Last-Modified"
    66  	HeaderLocation            = "Location"
    67  	HeaderUpgrade             = "Upgrade"
    68  	HeaderVary                = "Vary"
    69  	HeaderWWWAuthenticate     = "WWW-Authenticate"
    70  	HeaderXForwardedFor       = "X-Forwarded-For"
    71  	HeaderXForwardedProto     = "X-Forwarded-Proto"
    72  	HeaderXForwardedProtocol  = "X-Forwarded-GroupProtocol"
    73  	HeaderXForwardedSsl       = "X-Forwarded-Ssl"
    74  	HeaderXUrlScheme          = "X-Url-Scheme"
    75  	HeaderXHTTPMethodOverride = "X-HTTP-Method-Override"
    76  	HeaderXRealIP             = "X-Real-IP"
    77  	HeaderXRequestID          = "X-Request-Id"
    78  	HeaderServer              = "Server"
    79  	HeaderOrigin              = "Origin"
    80  
    81  	// Access control
    82  	HeaderAccessControlRequestMethod    = "Access-Control-Request-Method"
    83  	HeaderAccessControlRequestHeaders   = "Access-Control-Request-Headers"
    84  	HeaderAccessControlAllowOrigin      = "Access-Control-Allow-Origin"
    85  	HeaderAccessControlAllowMethods     = "Access-Control-Allow-Methods"
    86  	HeaderAccessControlAllowHeaders     = "Access-Control-Allow-Headers"
    87  	HeaderAccessControlAllowCredentials = "Access-Control-Allow-Credentials"
    88  	HeaderAccessControlExposeHeaders    = "Access-Control-Expose-Headers"
    89  	HeaderAccessControlMaxAge           = "Access-Control-Max-Age"
    90  
    91  	// Security
    92  	HeaderStrictTransportSecurity = "Strict-transport-Security"
    93  	HeaderXContentTypeOptions     = "X-Content-Type-Options"
    94  	HeaderXXSSProtection          = "X-XSS-Protection"
    95  	HeaderXFrameOptions           = "X-Frame-Options"
    96  	HeaderContentSecurityPolicy   = "Content-Security-Policy"
    97  	HeaderXCSRFToken              = "X-CSRF-Token"
    98  )
    99  
   100  var (
   101  	mediaTypes = map[string]string{
   102  		".txt":      "text/plain",
   103  		".text":     "text/plain",
   104  		".html":     "text/html",
   105  		".css":      "text/css",
   106  		".js":       "text/javascript",
   107  		".erb":      "template/erb",
   108  		".min.css":  "text/css",
   109  		".haml":     "text/haml",
   110  		".markdown": "text/markdown",
   111  		".md":       "text/markdown",
   112  		".svg":      "image/svg+xml",
   113  		".png":      "image/png",
   114  		".jpg":      "image/jpg",
   115  		".gif":      "image/png",
   116  		".mp3":      "audio/mp3",
   117  	}
   118  )