Skip to content

Commit 491d410

Browse files
committed
Refactor
1 parent 205b2bf commit 491d410

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

src/Bucketchain/Http.purs

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module Bucketchain.Http
22
( Http
3+
, toRequest
34
, httpStream
45
, httpVersion
56
, requestHeaders
@@ -29,50 +30,57 @@ newtype Http = Http
2930
, res :: HTTP.Response
3031
}
3132

33+
-- | Convert a HTTP stream to a Request stream.
34+
toRequest :: Http -> HTTP.Request
35+
toRequest (Http { req }) = req
36+
37+
toResponse :: Http -> HTTP.Response
38+
toResponse (Http { res }) = res
39+
3240
-- | Create a HTTP stream.
3341
httpStream :: HTTP.Request -> HTTP.Response -> Http
3442
httpStream req res = Http { req, res }
3543

3644
-- | Get the request HTTP version.
3745
httpVersion :: Http -> String
38-
httpVersion (Http { req }) = HTTP.httpVersion req
46+
httpVersion = toRequest >>> HTTP.httpVersion
3947

4048
-- | Get the request headers.
4149
requestHeaders :: Http -> Object String
42-
requestHeaders (Http { req }) = HTTP.requestHeaders req
50+
requestHeaders = toRequest >>> HTTP.requestHeaders
4351

4452
-- | Get the request method (GET, POST, etc.).
4553
requestMethod :: Http -> String
46-
requestMethod (Http { req }) = HTTP.requestMethod req
54+
requestMethod = toRequest >>> HTTP.requestMethod
4755

4856
-- | Get the request URL.
4957
requestURL :: Http -> String
50-
requestURL (Http { req }) = HTTP.requestURL req
58+
requestURL = toRequest >>> HTTP.requestURL
5159

5260
-- | Get the request body.
5361
requestBody :: Http -> Aff String
54-
requestBody http = convertToString $ toReadable http
62+
requestBody = toReadable >>> convertToString
5563

5664
-- | Convert a Http stream to a Readable stream.
5765
toReadable :: Http -> Readable ()
58-
toReadable (Http { req }) = HTTP.requestAsStream req
66+
toReadable = toRequest >>> HTTP.requestAsStream
5967

6068
-- | Set a header with a single value.
6169
setHeader :: Http -> String -> String -> Effect Unit
62-
setHeader (Http { res }) = HTTP.setHeader res
70+
setHeader = toResponse >>> HTTP.setHeader
6371

6472
-- | Set a header with multiple values.
6573
setHeaders :: Http -> String -> Array String -> Effect Unit
66-
setHeaders (Http { res }) = HTTP.setHeaders res
74+
setHeaders = toResponse >>> HTTP.setHeaders
6775

6876
-- | Set the status code.
6977
setStatusCode :: Http -> Int -> Effect Unit
70-
setStatusCode (Http { res }) = HTTP.setStatusCode res
78+
setStatusCode = toResponse >>> HTTP.setStatusCode
7179

7280
-- | Set the status message.
7381
setStatusMessage :: Http -> String -> Effect Unit
74-
setStatusMessage (Http { res }) = HTTP.setStatusMessage res
82+
setStatusMessage = toResponse >>> HTTP.setStatusMessage
7583

7684
-- | This is for internal. Do not use it.
7785
toWritable :: Http -> Writable ()
78-
toWritable (Http { res }) = HTTP.responseAsStream res
86+
toWritable = toResponse >>> HTTP.responseAsStream

0 commit comments

Comments
 (0)