Add post processing to files generated by Haskell generators (#968)

* add hfmt support (without updating the sample)

* update haskell httpclient samples with hfmt

* add code format option to haskell servant, minor bug fixes

* update code samples with hfmt

* update samples using stylish-haskell

* rename env variable

* update haskell samples with stylish-haskell

* regenerate haskell samples without stylish-haskell

* regenerate haskell servant sample

* update example-app & tests-integration for OAS2 code
This commit is contained in:
William Cheng
2018-09-29 17:21:03 +08:00
committed by GitHub
parent f1f7bdd23f
commit cbddb08468
26 changed files with 866 additions and 1243 deletions

View File

@@ -155,7 +155,8 @@ runPet mgr config = do
-- * STORE
instance S.Consumes S.PlaceOrder S.MimeJSON
runStore :: NH.Manager -> S.OpenAPIPetstoreConfig -> IO ()
runStore mgr config = do
@@ -167,7 +168,7 @@ runStore mgr config = do
-- placeOrder
now <- TI.getCurrentTime
let placeOrderRequest = S.placeOrder (S.Accept S.MimeJSON) (S.mkOrder { S.orderId = Just 21, S.orderQuantity = Just 210, S.orderShipDate = Just (S.DateTime now)})
let placeOrderRequest = S.placeOrder (S.ContentType S.MimeJSON) (S.Accept S.MimeJSON) (S.mkOrder { S.orderId = Just 21, S.orderQuantity = Just 210, S.orderShipDate = Just (S.DateTime now)})
placeOrderResult <- S.dispatchMime mgr config placeOrderRequest
mapM_ (\r -> putStrLn $ "placeOrderResult: " <> show r) placeOrderResult
@@ -188,22 +189,27 @@ runStore mgr config = do
-- * USER
instance S.Consumes S.CreateUser S.MimeJSON
instance S.Consumes S.CreateUsersWithArrayInput S.MimeJSON
instance S.Consumes S.CreateUsersWithListInput S.MimeJSON
instance S.Consumes S.UpdateUser S.MimeJSON
runUser :: NH.Manager -> S.OpenAPIPetstoreConfig -> IO ()
runUser mgr config = do
let username = "hsusername"
-- createUser
let user = S.mkUser { S.userId = Just 21, S.userUsername = Just username }
let createUserRequest = S.createUser user
let createUserRequest = S.createUser (S.ContentType S.MimeJSON) user
_ <- S.dispatchLbs mgr config createUserRequest
-- can use lenses (model record names are appended L) to view or modify records
let users = take 8 $ drop 1 $ iterate (L.over S.userUsernameL (fmap (<> "*")) . L.over S.userIdL (fmap (+ 1))) user
let createUsersWithArrayInputRequest = S.createUsersWithArrayInput (S.User2 users)
let createUsersWithArrayInputRequest = S.createUsersWithArrayInput (S.ContentType S.MimeJSON) (S.User2 users)
_ <- S.dispatchLbs mgr config createUsersWithArrayInputRequest
-- createUsersWithArrayInput
let createUsersWithListInputRequest = S.createUsersWithListInput (S.User2 users)
let createUsersWithListInputRequest = S.createUsersWithListInput (S.ContentType S.MimeJSON) (S.User2 users)
_ <- S.dispatchLbs mgr config createUsersWithListInputRequest
-- getUserByName
@@ -217,7 +223,7 @@ runUser mgr config = do
BCL.putStrLn $ "loginUser: " <> (NH.responseBody loginUserResult)
-- updateUser
let updateUserRequest = S.updateUser (user { S.userEmail = Just "xyz@example.com" }) (S.Username username)
let updateUserRequest = S.updateUser (S.ContentType S.MimeJSON) (user { S.userEmail = Just "xyz@example.com" }) (S.Username username)
_ <- S.dispatchLbs mgr config updateUserRequest
-- logoutUser

View File

@@ -1,4 +1,4 @@
resolver: lts-10.0
resolver: lts-10.10
packages:
- location: '.'
- location: '..'