Skip to content

Commit 32a4982

Browse files
committed
Add Requestable FormURLEncoded instance
See discussion in #57
1 parent 396b0f9 commit 32a4982

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

bower.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
"purescript-math": "^0.2.0",
3333
"purescript-nullable": "^0.2.0",
3434
"purescript-refs": "^0.2.0",
35-
"purescript-unsafe-coerce": "^0.1.0"
35+
"purescript-unsafe-coerce": "^0.1.0",
36+
"purescript-form-urlencoded": "^0.3.0"
3637
},
3738
"devDependencies": {
3839
"purescript-console": "^0.1.0"

src/Network/HTTP/Affjax/Request.purs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import Data.Argonaut.Core (Json())
99
import Data.Maybe (Maybe(..))
1010
import Data.Tuple (Tuple(..))
1111
import qualified Data.ArrayBuffer.Types as A
12+
import Data.FormURLEncoded (FormURLEncoded())
13+
import qualified Data.FormURLEncoded as URLEncoded
1214

1315
import DOM.File.Types (Blob())
1416
import DOM.Node.Types (Document())
@@ -17,7 +19,7 @@ import DOM.XHR.Types (FormData())
1719
import qualified Unsafe.Coerce as U
1820

1921
import Network.HTTP.MimeType (MimeType())
20-
import Network.HTTP.MimeType.Common (applicationJSON)
22+
import Network.HTTP.MimeType.Common (applicationJSON, applicationFormURLEncoded)
2123

2224
-- | Type representing all content types that be sent via XHR (ArrayBufferView,
2325
-- | Blob, Document, String, FormData).
@@ -77,5 +79,9 @@ instance requestableJson :: Requestable Json where
7779
instance requestableFormData :: Requestable FormData where
7880
toRequest = defaultToRequest
7981

82+
instance requestableFormURLEncoded :: Requestable FormURLEncoded where
83+
toRequest form = Tuple (Just applicationFormURLEncoded)
84+
(U.unsafeCoerce (URLEncoded.encode form))
85+
8086
instance requestableUnit :: Requestable Unit where
8187
toRequest = defaultToRequest

0 commit comments

Comments
 (0)