in dax/internal/client/single.go [530:661]
func (client *SingleDaxClient) send(req *request.Request) {
opt := RequestOptions{}
if err := opt.mergeFromRequest(req, true); err != nil {
req.Error = err
return
}
switch req.Operation.Name {
case OpGetItem:
input, ok := req.Params.(*dynamodb.GetItemInput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *GetItemInput", nil)
return
}
output, ok := req.Data.(*dynamodb.GetItemOutput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *GetItemOutput", nil)
return
}
req.Data, req.Error = client.GetItemWithOptions(input, output, opt)
case OpScan:
input, ok := req.Params.(*dynamodb.ScanInput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *ScanInput", nil)
return
}
output, ok := req.Data.(*dynamodb.ScanOutput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *ScanOutput", nil)
return
}
req.Data, req.Error = client.ScanWithOptions(input, output, opt)
case OpQuery:
input, ok := req.Params.(*dynamodb.QueryInput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *QueryInput", nil)
return
}
output, ok := req.Data.(*dynamodb.QueryOutput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *QueryOutput", nil)
return
}
req.Data, req.Error = client.QueryWithOptions(input, output, opt)
case OpBatchGetItem:
input, ok := req.Params.(*dynamodb.BatchGetItemInput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *BatchGetItemInput", nil)
return
}
output, ok := req.Data.(*dynamodb.BatchGetItemOutput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *BatchGetItemOutput", nil)
return
}
req.Data, req.Error = client.BatchGetItemWithOptions(input, output, opt)
case OpPutItem:
input, ok := req.Params.(*dynamodb.PutItemInput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *PutItemInput", nil)
return
}
output, ok := req.Data.(*dynamodb.PutItemOutput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *PutItemOutput", nil)
return
}
req.Data, req.Error = client.PutItemWithOptions(input, output, opt)
case OpDeleteItem:
input, ok := req.Params.(*dynamodb.DeleteItemInput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *DeleteItemInput", nil)
return
}
output, ok := req.Data.(*dynamodb.DeleteItemOutput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *DeleteItemOutput", nil)
return
}
req.Data, req.Error = client.DeleteItemWithOptions(input, output, opt)
case OpUpdateItem:
input, ok := req.Params.(*dynamodb.UpdateItemInput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *UpdateItemInput", nil)
return
}
output, ok := req.Data.(*dynamodb.UpdateItemOutput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *UpdateItemOutput", nil)
return
}
req.Data, req.Error = client.UpdateItemWithOptions(input, output, opt)
case OpBatchWriteItem:
input, ok := req.Params.(*dynamodb.BatchWriteItemInput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *BatchWriteItemInput", nil)
return
}
output, ok := req.Data.(*dynamodb.BatchWriteItemOutput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *BatchWriteItemOutput", nil)
return
}
req.Data, req.Error = client.BatchWriteItemWithOptions(input, output, opt)
case OpTransactGetItems:
input, ok := req.Params.(*dynamodb.TransactGetItemsInput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *TransactGetItemsInput", nil)
return
}
output, ok := req.Data.(*dynamodb.TransactGetItemsOutput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *TransactGetItemsOutput", nil)
return
}
req.Data, req.Error = client.TransactGetItemsWithOptions(input, output, opt)
case OpTransactWriteItems:
input, ok := req.Params.(*dynamodb.TransactWriteItemsInput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *TransactWriteItemsInput", nil)
return
}
output, ok := req.Data.(*dynamodb.TransactWriteItemsOutput)
if !ok {
req.Error = awserr.New(request.ErrCodeSerialization, "expected *TransactWriteItemsOutput", nil)
return
}
req.Data, req.Error = client.TransactWriteItemsWithOptions(input, output, opt)
default:
req.Error = awserr.New(request.InvalidParameterErrCode, "unknown op "+req.Operation.Name, nil)
return
}
}