module Network.HTTP.Types ( -- * Methods -- | __For more information__: "Network.HTTP.Types.Method" Method, -- ** Constants methodGet, methodPost, methodHead, methodPut, methodDelete, methodTrace, methodConnect, methodOptions, methodPatch, StdMethod (..), -- ** Parsing and redering methods parseMethod, renderMethod, renderStdMethod, -- * Versions -- | __For more information__: "Network.HTTP.Types.Version" HttpVersion (..), http09, http10, http11, http20, http30, -- * Status -- | __For more information__: "Network.HTTP.Types.Status" Status (..), mkStatus, -- ** Parsing and Rendering parseStatusCode, renderStatusCode, parseFullStatus, renderFullStatus, -- ** Low level functions renderStatusCodeToPtr, renderFullStatusToPtr, -- ** Constants status100, continue100, status101, switchingProtocols101, status200, ok200, status201, created201, status202, accepted202, status203, nonAuthoritative203, status204, noContent204, status205, resetContent205, status206, partialContent206, status300, multipleChoices300, status301, movedPermanently301, status302, found302, status303, seeOther303, status304, notModified304, status305, useProxy305, status307, temporaryRedirect307, status308, permanentRedirect308, status400, badRequest400, status401, unauthorized401, status402, paymentRequired402, status403, forbidden403, status404, notFound404, status405, methodNotAllowed405, status406, notAcceptable406, status407, proxyAuthenticationRequired407, status408, requestTimeout408, status409, conflict409, status410, gone410, status411, lengthRequired411, status412, preconditionFailed412, status413, requestEntityTooLarge413, status414, requestURITooLong414, status415, unsupportedMediaType415, status416, requestedRangeNotSatisfiable416, status417, expectationFailed417, status418, imATeapot418, status422, unprocessableEntity422, status426, upgradeRequired426, status428, preconditionRequired428, status429, tooManyRequests429, status431, requestHeaderFieldsTooLarge431, status451, unavailableForLegalReasons451, status500, internalServerError500, status501, notImplemented501, status502, badGateway502, status503, serviceUnavailable503, status504, gatewayTimeout504, status505, httpVersionNotSupported505, status511, networkAuthenticationRequired511, -- *** Category checks statusIsInformational, statusIsSuccessful, statusIsRedirection, statusIsClientError, statusIsServerError, -- * Headers -- | __For more information__: "Network.HTTP.Types.Header" -- ** Types Header, HeaderName, RequestHeaders, ResponseHeaders, -- ** Constants hAccept, hAcceptCharset, hAcceptEncoding, hAcceptLanguage, hAcceptPatch, hAcceptRanges, hAccessControlAllowCredentials, hAccessControlAllowHeaders, hAccessControlAllowMethods, hAccessControlAllowOrigin, hAccessControlExposeHeaders, hAccessControlMaxAge, hAccessControlRequestMethod, hAge, hAllow, hAltSvc, hAuthorization, hCacheControl, hConnection, hContentDigest, hContentDisposition, hContentEncoding, hContentLanguage, hContentLength, hContentLocation, hContentMD5, hContentRange, hContentSecurityPolicy, hContentSecurityPolicyReportOnly, hContentType, hCookie, hDate, hETag, hExpect, hExpires, hForwarded, hFrom, hHost, hIfMatch, hIfModifiedSince, hIfNoneMatch, hIfRange, hIfUnmodifiedSince, hLastModified, hLink, hLocation, hMaxForwards, hMIMEVersion, hOrigin, hPragma, hPrefer, hPreferenceApplied, hProxyAuthenticate, hProxyAuthorization, hRange, hReferer, hRetryAfter, hServer, hSetCookie, hStrictTransportSecurity, hTE, hTrailer, hTransferEncoding, hUpgrade, hUserAgent, hVary, hVia, hWWWAuthenticate, hWarning, -- ** Byte ranges ByteRange (..), renderByteRangeBuilder, renderByteRange, ByteRanges, renderByteRangesBuilder, renderByteRanges, parseByteRanges, -- * URI -- | __For more extensive information__: "Network.HTTP.Types.URI" -- ** Query strings -- *** Query Query, QueryItem, renderQuery, renderQueryBuilder, parseQuery, parseQueryReplacePlus, -- *** Text query string (UTF8 encoded) QueryText, queryTextToQuery, queryToQueryText, renderQueryText, parseQueryText, -- *** SimpleQuery SimpleQuery, SimpleQueryItem, simpleQueryToQuery, renderSimpleQuery, parseSimpleQuery, -- *** PartialEscapeQuery PartialEscapeQuery, PartialEscapeQueryItem, EscapeItem (..), renderQueryPartialEscape, renderQueryBuilderPartialEscape, -- ** Generalized query types QueryLike (..), QueryKeyLike (..), QueryValueLike (..), -- ** Path -- *** Segments + Query String extractPath, encodePath, decodePath, -- *** Path Segments encodePathSegments, encodePathSegmentsRelative, decodePathSegments, -- ** URL encoding / decoding urlEncode, urlEncodeBuilder, urlDecode, ) where import Network.HTTP.Types.Header import Network.HTTP.Types.Method import Network.HTTP.Types.QueryLike import Network.HTTP.Types.Status import Network.HTTP.Types.URI import Network.HTTP.Types.Version