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 )