Skip to content

Commit 7209180

Browse files
committed
Pass http-client Request to responseConsumer
This is potentially needed for error handling as HttpException now includes it.
1 parent eccbd53 commit 7209180

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+105
-85
lines changed

Aws/Aws.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ unsafeAwsRef cfg info manager metadataRef request = do
247247
logDebug $ "Response status: " ++ show (HTTP.responseStatus hresp)
248248
forM_ (HTTP.responseHeaders hresp) $ \(hname,hvalue) -> liftIO $
249249
logger cfg Debug $ T.decodeUtf8 $ "Response header '" `mappend` CI.original hname `mappend` "': '" `mappend` hvalue `mappend` "'"
250-
{-# SCC "unsafeAwsRef:responseConsumer" #-} responseConsumer request metadataRef hresp
250+
{-# SCC "unsafeAwsRef:responseConsumer" #-} responseConsumer httpRequest request metadataRef hresp
251251

252252
-- | Run a URI-only AWS transaction. Returns a URI that can be sent anywhere. Does not work with all requests.
253253
--

Aws/Core.hs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -201,14 +201,15 @@ class Monoid (ResponseMetadata resp) => ResponseConsumer req resp where
201201
-- metadata type for each AWS service.
202202
type ResponseMetadata resp
203203

204-
-- | Response parser. Takes the corresponding request, an 'IORef'
205-
-- for metadata, and HTTP response data.
206-
responseConsumer :: req -> IORef (ResponseMetadata resp) -> HTTPResponseConsumer resp
204+
-- | Response parser. Takes the corresponding AWS request, the derived
205+
-- @http-client@ request (for error reporting), an 'IORef' for metadata, and
206+
-- HTTP response data.
207+
responseConsumer :: HTTP.Request -> req -> IORef (ResponseMetadata resp) -> HTTPResponseConsumer resp
207208

208209
-- | Does not parse response. For debugging.
209210
instance ResponseConsumer r (HTTP.Response L.ByteString) where
210211
type ResponseMetadata (HTTP.Response L.ByteString) = ()
211-
responseConsumer _ _ resp = do
212+
responseConsumer _ _ _ resp = do
212213
bss <- HTTP.responseBody resp $$+- CL.consume
213214
return resp
214215
{ HTTP.responseBody = L.fromChunks bss

Aws/DynamoDb/Commands/DeleteItem.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ instance FromJSON DeleteItemResponse where
9797

9898
instance ResponseConsumer r DeleteItemResponse where
9999
type ResponseMetadata DeleteItemResponse = DdbResponse
100-
responseConsumer _ ref resp = ddbResponseConsumer ref resp
100+
responseConsumer _ _ ref resp = ddbResponseConsumer ref resp
101101

102102

103103
instance AsMemoryResponse DeleteItemResponse where

Aws/DynamoDb/Commands/GetItem.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ instance FromJSON GetItemResponse where
8484

8585
instance ResponseConsumer r GetItemResponse where
8686
type ResponseMetadata GetItemResponse = DdbResponse
87-
responseConsumer _ ref resp = ddbResponseConsumer ref resp
87+
responseConsumer _ _ ref resp = ddbResponseConsumer ref resp
8888

8989

9090
instance AsMemoryResponse GetItemResponse where

Aws/DynamoDb/Commands/PutItem.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ instance FromJSON PutItemResponse where
9898

9999
instance ResponseConsumer r PutItemResponse where
100100
type ResponseMetadata PutItemResponse = DdbResponse
101-
responseConsumer _ ref resp = ddbResponseConsumer ref resp
101+
responseConsumer _ _ ref resp = ddbResponseConsumer ref resp
102102

103103

104104
instance AsMemoryResponse PutItemResponse where

Aws/DynamoDb/Commands/Query.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,8 @@ instance SignQuery Query where
135135

136136
instance ResponseConsumer r QueryResponse where
137137
type ResponseMetadata QueryResponse = DdbResponse
138-
responseConsumer _ ref resp = ddbResponseConsumer ref resp
138+
responseConsumer _ _ ref resp
139+
= ddbResponseConsumer ref resp
139140

140141

141142
instance AsMemoryResponse QueryResponse where

Aws/DynamoDb/Commands/Scan.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ instance SignQuery Scan where
114114

115115
instance ResponseConsumer r ScanResponse where
116116
type ResponseMetadata ScanResponse = DdbResponse
117-
responseConsumer _ ref resp = ddbResponseConsumer ref resp
117+
responseConsumer _ _ ref resp = ddbResponseConsumer ref resp
118118

119119

120120
instance AsMemoryResponse ScanResponse where

Aws/DynamoDb/Commands/Table.hs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ instance A.FromJSON TableDescription where
293293
{- Can't derive these instances onto the return values
294294
instance ResponseConsumer r TableDescription where
295295
type ResponseMetadata TableDescription = DyMetadata
296-
responseConsumer _ _ = ddbResponseConsumer
296+
responseConsumer _ _ _ = ddbResponseConsumer
297297
instance AsMemoryResponse TableDescription where
298298
type MemoryResponse TableDescription = TableDescription
299299
loadToMemory = return
@@ -351,7 +351,7 @@ newtype CreateTableResult = CreateTableResult { ctStatus :: TableDescription }
351351
-- ResponseConsumer and AsMemoryResponse can't be derived
352352
instance ResponseConsumer r CreateTableResult where
353353
type ResponseMetadata CreateTableResult = DdbResponse
354-
responseConsumer _ = ddbResponseConsumer
354+
responseConsumer _ _ = ddbResponseConsumer
355355
instance AsMemoryResponse CreateTableResult where
356356
type MemoryResponse CreateTableResult = TableDescription
357357
loadToMemory = return . ctStatus
@@ -376,7 +376,7 @@ newtype DescribeTableResult = DescribeTableResult { dtStatus :: TableDescription
376376
-- ResponseConsumer can't be derived
377377
instance ResponseConsumer r DescribeTableResult where
378378
type ResponseMetadata DescribeTableResult = DdbResponse
379-
responseConsumer _ = ddbResponseConsumer
379+
responseConsumer _ _ = ddbResponseConsumer
380380
instance AsMemoryResponse DescribeTableResult where
381381
type MemoryResponse DescribeTableResult = TableDescription
382382
loadToMemory = return . dtStatus
@@ -408,7 +408,7 @@ newtype UpdateTableResult = UpdateTableResult { uStatus :: TableDescription }
408408
-- ResponseConsumer can't be derived
409409
instance ResponseConsumer r UpdateTableResult where
410410
type ResponseMetadata UpdateTableResult = DdbResponse
411-
responseConsumer _ = ddbResponseConsumer
411+
responseConsumer _ _ = ddbResponseConsumer
412412
instance AsMemoryResponse UpdateTableResult where
413413
type MemoryResponse UpdateTableResult = TableDescription
414414
loadToMemory = return . uStatus
@@ -433,7 +433,7 @@ newtype DeleteTableResult = DeleteTableResult { dStatus :: TableDescription }
433433
-- ResponseConsumer can't be derived
434434
instance ResponseConsumer r DeleteTableResult where
435435
type ResponseMetadata DeleteTableResult = DdbResponse
436-
responseConsumer _ = ddbResponseConsumer
436+
responseConsumer _ _ = ddbResponseConsumer
437437
instance AsMemoryResponse DeleteTableResult where
438438
type MemoryResponse DeleteTableResult = TableDescription
439439
loadToMemory = return . dStatus
@@ -459,7 +459,7 @@ instance A.FromJSON ListTablesResult where
459459
parseJSON = A.genericParseJSON capitalizeOpt
460460
instance ResponseConsumer r ListTablesResult where
461461
type ResponseMetadata ListTablesResult = DdbResponse
462-
responseConsumer _ = ddbResponseConsumer
462+
responseConsumer _ _ = ddbResponseConsumer
463463
instance AsMemoryResponse ListTablesResult where
464464
type MemoryResponse ListTablesResult = [T.Text]
465465
loadToMemory = return . tableNames

Aws/DynamoDb/Commands/UpdateItem.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ instance FromJSON UpdateItemResponse where
158158

159159
instance ResponseConsumer r UpdateItemResponse where
160160
type ResponseMetadata UpdateItemResponse = DdbResponse
161-
responseConsumer _ ref resp = ddbResponseConsumer ref resp
161+
responseConsumer _ _ ref resp = ddbResponseConsumer ref resp
162162

163163

164164
instance AsMemoryResponse UpdateItemResponse where

Aws/Iam/Commands/CreateAccessKey.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ data CreateAccessKeyResponse
5858

5959
instance ResponseConsumer CreateAccessKey CreateAccessKeyResponse where
6060
type ResponseMetadata CreateAccessKeyResponse = IamMetadata
61-
responseConsumer _
61+
responseConsumer _ _
6262
= iamResponseConsumer $ \cursor -> do
6363
let attr name = force ("Missing " ++ Text.unpack name) $
6464
cursor $// elContent name

0 commit comments

Comments
 (0)