git.iko.soy/typeable/pagerduty
on develop help sign in
14 files changed+38−48
since splitsnapshots
unifiedsplit
.travis.yml+2−2 pagerduty.cabal+5−5 script/travis-lifecycle-before_install+3−8 src/Control/Monad/Trans/PagerDuty.hs+2−1 src/Network/PagerDuty/Integration.hs+3−3 src/Network/PagerDuty/Internal/Query.hs+2−2 src/Network/PagerDuty/Internal/Types.hs+10−8 src/Network/PagerDuty/REST.hs+2−3 src/Network/PagerDuty/REST/EscalationPolicies/EscalationRules.hs+1−1 src/Network/PagerDuty/REST/LogEntries.hs+1−2 src/Network/PagerDuty/REST/Users.hs−1 stack-7.10.3.yaml−5 stack-7.8.4.yaml−6 stack.yaml+7−1
.travis.yml+2−2
@@ -24,7 +24,7 @@ script:
2424matrix:
2525 fast_finish: true
2626 include:
27+ - env: GHCVER=8.0.1
28+ addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
2729 - env: GHCVER=7.10.3
2830 addons: { apt: { packages: [ghc-7.10.3], sources: [hvr-ghc] } }
29− - env: GHCVER=7.8.4
30− addons: { apt: { packages: [ghc-7.8.4], sources: [hvr-ghc] } }
pagerduty.cabal+5−5
@@ -1,5 +1,5 @@
11name: pagerduty
2−version: 0.0.6
2+version: 0.0.8
33synopsis: Client library for PagerDuty Integration and REST APIs.
44homepage: http://github.com/brendanhay/pagerduty
55license: OtherLicense
@@ -71,16 +71,16 @@ library
7171 , Network.PagerDuty.Types
7272
7373 build-depends:
74− aeson >= 0.8
75− , base >= 4.7 && < 5
74+ aeson >= 2.0
75+ , base >= 4.7 && < 5
7676 , bifunctors >= 4.1
7777 , bytestring >= 0.9
7878 , bytestring-conversion >= 0.2.1
7979 , conduit > 1.1
8080 , data-default-class >= 0.0.1
8181 , exceptions >= 0.6
82− , generics-sop >= 0.2.0.0
83− , http-client >= 0.4.3
82+ , generics-sop >= 0.5.0.0
83+ , http-client >= 0.5 && < 1
8484 , http-types >= 0.8
8585 , lens >= 4.4
8686 , lens-aeson >= 1
script/travis-lifecycle-before_install+3−8
@@ -2,15 +2,10 @@
22
33set -e
44
5−dir=~/.local/bin
6−remote=https://github.com/commercialhaskell/stack/releases/download/v0.1.3.1/stack-0.1.3.1-x86_64-linux.gz
7−local=$dir/stack
5+mkdir -p ~/.local/bin
86
9−mkdir -p $dir
10−
11−curl -L $remote | gunzip > $local
12−
13−chmod a+x $local
7+curl -L https://www.stackage.org/stack/linux-x86_64 | \
8+ tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
149
1510ghc --version
1611stack --version
src/Control/Monad/Trans/PagerDuty.hs+2−1
@@ -42,9 +42,10 @@ module Control.Monad.Trans.PagerDuty
4242 ) where
4343
4444import Control.Applicative
45+import Control.Monad
4546import Control.Monad.Base
4647import Control.Monad.Catch
47−import Control.Monad.Error (MonadError (..))
48+import Control.Monad.Except (MonadError (..))
4849import Control.Monad.Morph
4950import Control.Monad.Reader
5051import Control.Monad.Trans.Control
src/Network/PagerDuty/Integration.hs+3−3
@@ -81,8 +81,7 @@ module Network.PagerDuty.Integration
8181import Control.Lens
8282import Control.Monad.IO.Class
8383import Data.Aeson
84−import Data.Default.Class
85−import qualified Data.HashMap.Strict as Map
84+import qualified Data.Aeson.KeyMap as Map
8685import Data.Text (Text)
8786import Network.HTTP.Client (Manager)
8887import qualified Network.HTTP.Client as Client
@@ -292,7 +291,8 @@ submitWith :: MonadIO m
292291 -> Event
293292 -> m (Either Error Response)
294293submitWith m l e = request m l e $
295− def { Client.host = "events.pagerduty.com"
294+ Client.defaultRequest
295+ { Client.host = "events.pagerduty.com"
296296 , Client.path = "/generic/2010-04-15/create_event.json"
297297 , Client.method = "POST"
298298 }
src/Network/PagerDuty/Internal/Query.hs+2−2
@@ -59,8 +59,8 @@ gqueryWith :: forall a. (Generic a, HasDatatypeInfo a, All2 QueryValues (Code a)
5959 -> a
6060 -> Query
6161gqueryWith o a = case datatypeInfo (Proxy :: Proxy a) of
62− ADT _ _ cs -> go cs (from a)
63− Newtype _ _ c -> go (c :* Nil) (from a)
62+ ADT _ _ cs _ -> go cs (from a)
63+ Newtype _ _ c -> go (c :* Nil) (from a)
6464 where
6565 go :: (All2 QueryValues xss, SListI xss)
6666 => NP ConstructorInfo xss
src/Network/PagerDuty/Internal/Types.hs+10−8
@@ -29,14 +29,14 @@ module Network.PagerDuty.Internal.Types where
2929import Control.Applicative
3030import Control.Lens hiding ((.=), Empty)
3131import Control.Monad.IO.Class
32−import Data.Aeson hiding (Error)
32+import Data.Aeson hiding (Error, Key)
33+import qualified Data.Aeson.KeyMap as Map
3334import Data.Aeson.Types (Parser)
3435import Data.ByteString (ByteString)
3536import qualified Data.ByteString.Char8 as BS
3637import Data.ByteString.Conversion hiding (List)
3738import Data.Default.Class
3839import Data.Function (on)
39−import qualified Data.HashMap.Strict as Map
4040import Data.List (deleteBy, intersperse)
4141import Data.Monoid
4242import Data.String
@@ -53,7 +53,7 @@ import Network.PagerDuty.Internal.TH
5353import Data.Time.Locale.Compat
5454
5555newtype CSV a = CSV [a]
56− deriving (Eq, Show, Monoid)
56+ deriving (Eq, Show, Semigroup, Monoid)
5757
5858makePrisms ''CSV
5959
@@ -70,7 +70,7 @@ instance ToByteString a => ToJSON (CSV a) where
7070 toJSON = String . Text.decodeUtf8 . toByteString'
7171
7272newtype List a = L [a]
73− deriving (Eq, Show, Monoid)
73+ deriving (Eq, Show, Semigroup, Monoid)
7474
7575deriveJSON ''List
7676makePrisms ''List
@@ -310,11 +310,13 @@ data Path where
310310 Path :: Path
311311 Seg :: ToByteString a => a -> Path
312312
313+instance Semigroup Path where
314+ x <> Path = x
315+ Path <> y = y
316+ Seg x <> Seg y = Seg (builder x <> "/" <> builder y)
317+
313318instance Monoid Path where
314− mempty = Path
315− mappend x Path = x
316− mappend Path y = y
317− mappend (Seg x) (Seg y) = Seg (builder x <> "/" <> builder y)
319+ mempty = Path
318320
319321instance IsString Path where
320322 fromString = Seg
src/Network/PagerDuty/REST.hs+2−3
@@ -29,7 +29,6 @@ import Control.Monad.IO.Class
2929import Control.Monad.Trans
3030import Data.Aeson (FromJSON)
3131import Data.Conduit
32−import Data.Default.Class
3332import Data.Monoid
3433import Network.HTTP.Client (Manager)
3534import qualified Network.HTTP.Client as Client
@@ -90,7 +89,7 @@ http e rq = request (e ^. envManager) (e ^. envLogger) rq $ raw
9089 }
9190 where
9291 raw = case e ^. envAuth of
93− AuthBasic u p -> Client.applyBasicAuth u p def
94− AuthToken t -> def
92+ AuthBasic u p -> Client.applyBasicAuth u p Client.defaultRequest
93+ AuthToken t -> Client.defaultRequest
9594 { Client.requestHeaders = [("Authorization", "Token token=" <> t)]
9695 }
src/Network/PagerDuty/REST/EscalationPolicies/EscalationRules.hs+1−1
@@ -67,7 +67,7 @@ module Network.PagerDuty.REST.EscalationPolicies.EscalationRules
6767import Control.Applicative ((<$>))
6868import Control.Lens hiding ((.=))
6969import Data.Aeson
70−import qualified Data.HashMap.Strict as Map
70+import qualified Data.Aeson.KeyMap as Map
7171import Data.Text (Text)
7272import Network.HTTP.Types
7373import Network.PagerDuty.Internal.TH
src/Network/PagerDuty/REST/LogEntries.hs+1−2
@@ -111,12 +111,11 @@ module Network.PagerDuty.REST.LogEntries
111111 , nAddress
112112 ) where
113113
114−import Control.Applicative
115114import Control.Lens hiding (Empty)
116115import Data.Aeson
117116import Data.Aeson.Lens
117+import qualified Data.Aeson.KeyMap as Map
118118import Data.Default.Class
119−import qualified Data.HashMap.Strict as Map
120119import Data.Text (Text)
121120import qualified Data.Text as Text
122121import Data.Time
src/Network/PagerDuty/REST/Users.hs−1
@@ -5,7 +5,6 @@
55{-# LANGUAGE TypeFamilies #-}
66
77{-# OPTIONS_GHC -fno-warn-type-defaults #-}
8−{-# OPTIONS_GHC -ddump-splices #-}
98
109-- Module : Network.PagerDuty.REST.Users
1110-- Copyright : (c) 2013-2015 Brendan Hay <brendan.g.hay@gmail.com>
stack-7.10.3.yamldeleted−5
@@ -1,5 +0,0 @@
1−resolver: lts-5.8
2−flags: {}
3−extra-deps: []
4−packages:
5− - '.'
stack-7.8.4.yamldeleted−6
@@ -1,6 +0,0 @@
1−resolver: lts-2.21
2−flags: {}
3−extra-deps:
4− - generics-sop-0.2.0.0
5−packages:
6− - '.'
stack.yamlmode 120000 → 100644+7−1
@@ -1 +0,0 @@
1−stack-7.10.3.yaml
@@ -0,0 +1,7 @@
1+resolver: lts-19.23
2+
3+packages:
4+- .
5+
6+nix:
7+ packages: [zlib]