1{-# LANGUAGE OverloadedStrings #-}
2module Network.HTTP.Types
3(
4  -- * Methods
5  Method
6, methodGet
7, methodPost
8, methodHead
9, methodPut
10, methodDelete
11, methodTrace
12, methodConnect
13, methodOptions
14, methodPatch
15, StdMethod(..)
16, parseMethod
17, renderMethod
18, renderStdMethod
19  -- * Versions
20, HttpVersion(..)
21, http09
22, http10
23, http11
24, http20
25-- * Status
26, Status(..)
27, mkStatus
28, status100
29, continue100
30, status101
31, switchingProtocols101
32, status200
33, ok200
34, status201
35, created201
36, status202
37, accepted202
38, status203
39, nonAuthoritative203
40, status204
41, noContent204
42, status205
43, resetContent205
44, status206
45, partialContent206
46, status300
47, multipleChoices300
48, status301
49, movedPermanently301
50, status302
51, found302
52, status303
53, seeOther303
54, status304
55, notModified304
56, status305
57, useProxy305
58, status307
59, temporaryRedirect307
60, status308
61, permanentRedirect308
62, status400
63, badRequest400
64, status401
65, unauthorized401
66, status402
67, paymentRequired402
68, status403
69, forbidden403
70, status404
71, notFound404
72, status405
73, methodNotAllowed405
74, status406
75, notAcceptable406
76, status407
77, proxyAuthenticationRequired407
78, status408
79, requestTimeout408
80, status409
81, conflict409
82, status410
83, gone410
84, status411
85, lengthRequired411
86, status412
87, preconditionFailed412
88, status413
89, requestEntityTooLarge413
90, status414
91, requestURITooLong414
92, status415
93, unsupportedMediaType415
94, status416
95, requestedRangeNotSatisfiable416
96, status417
97, expectationFailed417
98, status418
99, imATeapot418
100, status422
101, unprocessableEntity422
102, status428
103, preconditionRequired428
104, status429
105, tooManyRequests429
106, status431
107, requestHeaderFieldsTooLarge431
108, status500
109, internalServerError500
110, status501
111, notImplemented501
112, status502
113, badGateway502
114, status503
115, serviceUnavailable503
116, status504
117, gatewayTimeout504
118, status505
119, httpVersionNotSupported505
120, status511
121, networkAuthenticationRequired511
122, statusIsInformational
123, statusIsSuccessful
124, statusIsRedirection
125, statusIsClientError
126, statusIsServerError
127  -- * Headers
128  -- ** Types
129, Header
130, HeaderName
131, RequestHeaders
132, ResponseHeaders
133  -- ** Common headers
134, hAccept
135, hAcceptLanguage
136, hAuthorization
137, hCacheControl
138, hCookie
139, hConnection
140, hContentEncoding
141, hContentLength
142, hContentMD5
143, hContentType
144, hDate
145, hIfModifiedSince
146, hIfRange
147, hLastModified
148, hLocation
149, hRange
150, hReferer
151, hServer
152, hUserAgent
153  -- ** Byte ranges
154, ByteRange(..)
155, renderByteRangeBuilder
156, renderByteRange
157, ByteRanges
158, renderByteRangesBuilder
159, renderByteRanges
160, parseByteRanges
161  -- * URI
162  -- ** Query string
163, QueryItem
164, Query
165, SimpleQueryItem
166, SimpleQuery
167, simpleQueryToQuery
168, renderQuery
169, renderQueryBuilder
170, renderSimpleQuery
171, parseQuery
172, parseSimpleQuery
173  -- **Escape only parts
174, renderQueryPartialEscape
175, renderQueryBuilderPartialEscape
176, EscapeItem(..)
177, PartialEscapeQueryItem
178, PartialEscapeQuery
179  -- *** Text query string (UTF8 encoded)
180, QueryText
181, queryTextToQuery
182, queryToQueryText
183, renderQueryText
184, parseQueryText
185  -- ** Generalized query types
186, QueryLike(toQuery)
187  -- ** Path segments
188, encodePathSegments
189, decodePathSegments
190, encodePathSegmentsRelative
191  -- ** Path (segments + query string)
192, extractPath
193, encodePath
194, decodePath
195  -- ** URL encoding / decoding
196, urlEncodeBuilder
197, urlEncode
198, urlDecode
199)
200where
201
202import Network.HTTP.Types.Header
203import Network.HTTP.Types.Method
204import Network.HTTP.Types.QueryLike
205import Network.HTTP.Types.Status
206import Network.HTTP.Types.URI
207import Network.HTTP.Types.Version
208