@@ -10,6 +10,11 @@ import (
10
10
"github.com/aws/smithy-go/middleware"
11
11
)
12
12
13
+ const (
14
+ // ContextKeyOriginalInput is the key used to store the original DynamoDB input in the context
15
+ ContextKeyOriginalInput = "originalInput"
16
+ )
17
+
13
18
type DBEsdkMiddleware struct {
14
19
client * awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Client
15
20
}
@@ -56,7 +61,8 @@ func (m DBEsdkMiddleware) createRequestInterceptor() middleware.InitializeMiddle
56
61
func (m DBEsdkMiddleware ) handleRequestInterception (ctx context.Context , request interface {}) (context.Context , error ) {
57
62
switch v := request .(type ) {
58
63
case * dynamodb.PutItemInput :
59
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
64
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
65
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
60
66
transformedRequest , err := m .client .PutItemInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformInput {
61
67
SdkInput : * v ,
62
68
})
@@ -65,7 +71,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
65
71
}
66
72
* v = transformedRequest .TransformedInput
67
73
case * dynamodb.GetItemInput :
68
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
74
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
75
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
69
76
transformedRequest , err := m .client .GetItemInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformInput {
70
77
SdkInput : * v ,
71
78
})
@@ -74,7 +81,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
74
81
}
75
82
* v = transformedRequest .TransformedInput
76
83
case * dynamodb.BatchGetItemInput :
77
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
84
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
85
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
78
86
transformedRequest , err := m .client .BatchGetItemInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformInput {
79
87
SdkInput : * v ,
80
88
})
@@ -83,7 +91,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
83
91
}
84
92
* v = transformedRequest .TransformedInput
85
93
case * dynamodb.BatchWriteItemInput :
86
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
94
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
95
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
87
96
transformedRequest , err := m .client .BatchWriteItemInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformInput {
88
97
SdkInput : * v ,
89
98
})
@@ -92,7 +101,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
92
101
}
93
102
* v = transformedRequest .TransformedInput
94
103
case * dynamodb.BatchExecuteStatementInput :
95
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
104
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
105
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
96
106
transformedRequest , err := m .client .BatchExecuteStatementInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformInput {
97
107
SdkInput : * v ,
98
108
})
@@ -101,7 +111,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
101
111
}
102
112
* v = transformedRequest .TransformedInput
103
113
case * dynamodb.DeleteItemInput :
104
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
114
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
115
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
105
116
transformedRequest , err := m .client .DeleteItemInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformInput {
106
117
SdkInput : * v ,
107
118
})
@@ -110,7 +121,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
110
121
}
111
122
* v = transformedRequest .TransformedInput
112
123
case * dynamodb.ExecuteStatementInput :
113
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
124
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
125
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
114
126
transformedRequest , err := m .client .ExecuteStatementInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformInput {
115
127
SdkInput : * v ,
116
128
})
@@ -119,7 +131,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
119
131
}
120
132
* v = transformedRequest .TransformedInput
121
133
case * dynamodb.ExecuteTransactionInput :
122
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
134
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
135
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
123
136
transformedRequest , err := m .client .ExecuteTransactionInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformInput {
124
137
SdkInput : * v ,
125
138
})
@@ -128,7 +141,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
128
141
}
129
142
* v = transformedRequest .TransformedInput
130
143
case * dynamodb.QueryInput :
131
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
144
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
145
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
132
146
transformedRequest , err := m .client .QueryInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformInput {
133
147
SdkInput : * v ,
134
148
})
@@ -137,7 +151,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
137
151
}
138
152
* v = transformedRequest .TransformedInput
139
153
case * dynamodb.ScanInput :
140
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
154
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
155
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
141
156
transformedRequest , err := m .client .ScanInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformInput {
142
157
SdkInput : * v ,
143
158
})
@@ -146,7 +161,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
146
161
}
147
162
* v = transformedRequest .TransformedInput
148
163
case * dynamodb.TransactGetItemsInput :
149
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
164
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
165
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
150
166
transformedRequest , err := m .client .TransactGetItemsInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformInput {
151
167
SdkInput : * v ,
152
168
})
@@ -155,7 +171,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
155
171
}
156
172
* v = transformedRequest .TransformedInput
157
173
case * dynamodb.TransactWriteItemsInput :
158
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
174
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
175
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
159
176
transformedRequest , err := m .client .TransactWriteItemsInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformInput {
160
177
SdkInput : * v ,
161
178
})
@@ -164,7 +181,8 @@ func (m DBEsdkMiddleware) handleRequestInterception(ctx context.Context, request
164
181
}
165
182
* v = transformedRequest .TransformedInput
166
183
case * dynamodb.UpdateItemInput :
167
- ctx = middleware .WithStackValue (ctx , "originalInput" , * v )
184
+ ctx = middleware .WithStackValue (ctx , ContextKeyOriginalInput , * v )
185
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
168
186
transformedRequest , err := m .client .UpdateItemInputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformInput {
169
187
SdkInput : * v ,
170
188
})
@@ -198,116 +216,129 @@ func (m DBEsdkMiddleware) createResponseInterceptor() middleware.FinalizeMiddlew
198
216
func (m DBEsdkMiddleware ) handleResponseInterception (ctx context.Context , response interface {}) error {
199
217
switch v := response .(type ) {
200
218
case * dynamodb.PutItemOutput :
219
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
201
220
transformedRequest , err := m .client .PutItemOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformInput {
202
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.PutItemInput ),
221
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.PutItemInput ),
203
222
SdkOutput : * v ,
204
223
})
205
224
if err != nil {
206
225
return err
207
226
}
208
227
* v = transformedRequest .TransformedOutput
209
228
case * dynamodb.GetItemOutput :
229
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
210
230
transformedRequest , err := m .client .GetItemOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformInput {
211
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.GetItemInput ),
231
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.GetItemInput ),
212
232
SdkOutput : * v ,
213
233
})
214
234
if err != nil {
215
235
return err
216
236
}
217
237
* v = transformedRequest .TransformedOutput
218
238
case * dynamodb.BatchGetItemOutput :
239
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
219
240
transformedRequest , err := m .client .BatchGetItemOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformInput {
220
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.BatchGetItemInput ),
241
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.BatchGetItemInput ),
221
242
SdkOutput : * v ,
222
243
})
223
244
if err != nil {
224
245
return err
225
246
}
226
247
* v = transformedRequest .TransformedOutput
227
248
case * dynamodb.BatchWriteItemOutput :
249
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
228
250
transformedRequest , err := m .client .BatchWriteItemOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformInput {
229
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.BatchWriteItemInput ),
251
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.BatchWriteItemInput ),
230
252
SdkOutput : * v ,
231
253
})
232
254
if err != nil {
233
255
return err
234
256
}
235
257
* v = transformedRequest .TransformedOutput
236
258
case * dynamodb.BatchExecuteStatementOutput :
259
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
237
260
transformedRequest , err := m .client .BatchExecuteStatementOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformInput {
238
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.BatchExecuteStatementInput ),
261
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.BatchExecuteStatementInput ),
239
262
SdkOutput : * v ,
240
263
})
241
264
if err != nil {
242
265
return err
243
266
}
244
267
* v = transformedRequest .TransformedOutput
245
268
case * dynamodb.DeleteItemOutput :
269
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
246
270
transformedRequest , err := m .client .DeleteItemOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformInput {
247
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.DeleteItemInput ),
271
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.DeleteItemInput ),
248
272
SdkOutput : * v ,
249
273
})
250
274
if err != nil {
251
275
return err
252
276
}
253
277
* v = transformedRequest .TransformedOutput
254
278
case * dynamodb.ExecuteStatementOutput :
279
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
255
280
transformedRequest , err := m .client .ExecuteStatementOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformInput {
256
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.ExecuteStatementInput ),
281
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.ExecuteStatementInput ),
257
282
SdkOutput : * v ,
258
283
})
259
284
if err != nil {
260
285
return err
261
286
}
262
287
* v = transformedRequest .TransformedOutput
263
288
case * dynamodb.ExecuteTransactionOutput :
289
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
264
290
transformedRequest , err := m .client .ExecuteTransactionOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformInput {
265
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.ExecuteTransactionInput ),
291
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.ExecuteTransactionInput ),
266
292
SdkOutput : * v ,
267
293
})
268
294
if err != nil {
269
295
return err
270
296
}
271
297
* v = transformedRequest .TransformedOutput
272
298
case * dynamodb.QueryOutput :
299
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
273
300
transformedRequest , err := m .client .QueryOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformInput {
274
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.QueryInput ),
301
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.QueryInput ),
275
302
SdkOutput : * v ,
276
303
})
277
304
if err != nil {
278
305
return err
279
306
}
280
307
* v = transformedRequest .TransformedOutput
281
308
case * dynamodb.ScanOutput :
309
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
282
310
transformedRequest , err := m .client .ScanOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformInput {
283
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.ScanInput ),
311
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.ScanInput ),
284
312
SdkOutput : * v ,
285
313
})
286
314
if err != nil {
287
315
return err
288
316
}
289
317
* v = transformedRequest .TransformedOutput
290
318
case * dynamodb.TransactGetItemsOutput :
319
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
291
320
transformedRequest , err := m .client .TransactGetItemsOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformInput {
292
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.TransactGetItemsInput ),
321
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.TransactGetItemsInput ),
293
322
SdkOutput : * v ,
294
323
})
295
324
if err != nil {
296
325
return err
297
326
}
298
327
* v = transformedRequest .TransformedOutput
299
328
case * dynamodb.TransactWriteItemsOutput :
329
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
300
330
transformedRequest , err := m .client .TransactWriteItemsOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformInput {
301
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.TransactWriteItemsInput ),
331
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.TransactWriteItemsInput ),
302
332
SdkOutput : * v ,
303
333
})
304
334
if err != nil {
305
335
return err
306
336
}
307
337
* v = transformedRequest .TransformedOutput
308
338
case * dynamodb.UpdateItemOutput :
339
+ // Note: this context is not propagated downstream into dafny layer so it's left as context.TODO() https://issues.amazon.com/CrypTool-5403
309
340
transformedRequest , err := m .client .UpdateItemOutputTransform (context .TODO (), awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformInput {
310
- OriginalInput : middleware .GetStackValue (ctx , "originalInput" ).(dynamodb.UpdateItemInput ),
341
+ OriginalInput : middleware .GetStackValue (ctx , ContextKeyOriginalInput ).(dynamodb.UpdateItemInput ),
311
342
SdkOutput : * v ,
312
343
})
313
344
if err != nil {
0 commit comments