git.iko.soy/typeable/pagerduty
on c3edac0 help sign in
15 files changed+71−39
since splitsnapshots
unifiedsplit
.travis.yml+4−4 Makefile+22 pagerduty.cabal+5−5 script/travis-lifecycle-before_install+8−3 src/Control/Monad/Trans/PagerDuty.hs−1 src/Network/PagerDuty/Integration.hs+3−3 src/Network/PagerDuty/Internal/Query.hs+2−2 src/Network/PagerDuty/Internal/Types.hs+8−10 src/Network/PagerDuty/REST.hs+3−2 src/Network/PagerDuty/REST/EscalationPolicies/EscalationRules.hs+1−1 src/Network/PagerDuty/REST/LogEntries.hs+2−1 src/Network/PagerDuty/REST/Users.hs+1 stack-7.10.3.yaml+5 stack-7.8.4.yaml+6 stack.yaml+1−7
.travis.yml+4−4
@@ -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] } }
29− - env: GHCVER=7.10.3
30− addons: { apt: { packages: [ghc-7.10.3], sources: [hvr-ghc] } }
27+ - env: GHCVER=7.10.2
28+ addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
29+ - env: GHCVER=7.8.4
30+ addons: { apt: { packages: [ghc-7.8.4], sources: [hvr-ghc] } }
Makefilenew file+22
@@ -0,0 +1,22 @@
1+FLAGS := -j --disable-documentation
2+
3+build:
4+ cabal build $(addprefix -,$(findstring j,$(MAKEFLAGS)))
5+
6+all:
7+ make clean; make install && make build
8+
9+install: cabal.sandbox.config
10+ cabal install $(FLAGS) \
11+ --only-dependencies \
12+ --force-reinstalls
13+
14+clean:
15+ cabal clean
16+ rm -rf cabal.sandbox.config .cabal-sandbox
17+
18+doc:
19+ cabal haddock
20+
21+cabal.sandbox.config:
22+ cabal sandbox init
pagerduty.cabal+5−5
@@ -1,5 +1,5 @@
11name: pagerduty
2−version: 0.0.8
2+version: 0.0.6
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 >= 2.0
75− , base >= 4.7 && < 5
74+ aeson >= 0.8
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.5.0.0
83− , http-client >= 0.5 && < 1
82+ , generics-sop >= 0.2.0.0
83+ , http-client >= 0.4.3
8484 , http-types >= 0.8
8585 , lens >= 4.4
8686 , lens-aeson >= 1
script/travis-lifecycle-before_install+8−3
@@ -2,10 +2,15 @@
22
33set -e
44
5−mkdir -p ~/.local/bin
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
68
7−curl -L https://www.stackage.org/stack/linux-x86_64 | \
8− tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
9+mkdir -p $dir
10+
11+curl -L $remote | gunzip > $local
12+
13+chmod a+x $local
914
1015ghc --version
1116stack --version
src/Control/Monad/Trans/PagerDuty.hs−1
@@ -42,7 +42,6 @@ module Control.Monad.Trans.PagerDuty
4242 ) where
4343
4444import Control.Applicative
45−import Control.Monad
4645import Control.Monad.Base
4746import Control.Monad.Catch
4847import Control.Monad.Except (MonadError (..))
src/Network/PagerDuty/Integration.hs+3−3
@@ -81,7 +81,8 @@ module Network.PagerDuty.Integration
8181import Control.Lens
8282import Control.Monad.IO.Class
8383import Data.Aeson
84−import qualified Data.Aeson.KeyMap as Map
84+import Data.Default.Class
85+import qualified Data.HashMap.Strict as Map
8586import Data.Text (Text)
8687import Network.HTTP.Client (Manager)
8788import qualified Network.HTTP.Client as Client
@@ -291,8 +292,7 @@ submitWith :: MonadIO m
291292 -> Event
292293 -> m (Either Error Response)
293294submitWith m l e = request m l e $
294− Client.defaultRequest
295− { Client.host = "events.pagerduty.com"
295+ def { 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+8−10
@@ -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, Key)
33−import qualified Data.Aeson.KeyMap as Map
32+import Data.Aeson hiding (Error)
3433import Data.Aeson.Types (Parser)
3534import Data.ByteString (ByteString)
3635import qualified Data.ByteString.Char8 as BS
3736import Data.ByteString.Conversion hiding (List)
3837import Data.Default.Class
3938import 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, Semigroup, Monoid)
56+ deriving (Eq, Show, 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, Semigroup, Monoid)
73+ deriving (Eq, Show, Monoid)
7474
7575deriveJSON ''List
7676makePrisms ''List
@@ -310,13 +310,11 @@ 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−
318313instance Monoid Path where
319− mempty = Path
314+ mempty = Path
315+ mappend x Path = x
316+ mappend Path y = y
317+ mappend (Seg x) (Seg y) = Seg (builder x <> "/" <> builder y)
320318
321319instance IsString Path where
322320 fromString = Seg
src/Network/PagerDuty/REST.hs+3−2
@@ -29,6 +29,7 @@ import Control.Monad.IO.Class
2929import Control.Monad.Trans
3030import Data.Aeson (FromJSON)
3131import Data.Conduit
32+import Data.Default.Class
3233import Data.Monoid
3334import Network.HTTP.Client (Manager)
3435import qualified Network.HTTP.Client as Client
@@ -89,7 +90,7 @@ http e rq = request (e ^. envManager) (e ^. envLogger) rq $ raw
8990 }
9091 where
9192 raw = case e ^. envAuth of
92− AuthBasic u p -> Client.applyBasicAuth u p Client.defaultRequest
93− AuthToken t -> Client.defaultRequest
93+ AuthBasic u p -> Client.applyBasicAuth u p def
94+ AuthToken t -> def
9495 { Client.requestHeaders = [("Authorization", "Token token=" <> t)]
9596 }
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.Aeson.KeyMap as Map
70+import qualified Data.HashMap.Strict as Map
7171import Data.Text (Text)
7272import Network.HTTP.Types
7373import Network.PagerDuty.Internal.TH
src/Network/PagerDuty/REST/LogEntries.hs+2−1
@@ -111,11 +111,12 @@ module Network.PagerDuty.REST.LogEntries
111111 , nAddress
112112 ) where
113113
114+import Control.Applicative
114115import Control.Lens hiding (Empty)
115116import Data.Aeson
116117import Data.Aeson.Lens
117−import qualified Data.Aeson.KeyMap as Map
118118import Data.Default.Class
119+import qualified Data.HashMap.Strict as Map
119120import Data.Text (Text)
120121import qualified Data.Text as Text
121122import Data.Time
src/Network/PagerDuty/REST/Users.hs+1
@@ -5,6 +5,7 @@
55{-# LANGUAGE TypeFamilies #-}
66
77{-# OPTIONS_GHC -fno-warn-type-defaults #-}
8+{-# OPTIONS_GHC -ddump-splices #-}
89
910-- Module : Network.PagerDuty.REST.Users
1011-- Copyright : (c) 2013-2015 Brendan Hay <brendan.g.hay@gmail.com>
stack-7.10.3.yamlnew file+5
@@ -0,0 +1,5 @@
1+resolver: lts-5.2
2+flags: {}
3+extra-deps: []
4+packages:
5+ - '.'
stack-7.8.4.yamlnew file+6
@@ -0,0 +1,6 @@
1+resolver: lts-2.21
2+flags: {}
3+extra-deps:
4+ - generics-sop-0.2.0.0
5+packages:
6+ - '.'
stack.yamlmode 100644 → 120000+1−7
@@ -1,7 +0,0 @@
1−resolver: lts-19.23
2−
3−packages:
4−- .
5−
6−nix:
7− packages: [zlib]
@@ -0,0 +1 @@
1+stack-7.10.3.yaml