class
Amazonite::Core::Client
- Amazonite::Core::Client
- Reference
- Object
Overview
Base HTTP client every generated per-service Client subclasses -
signs requests with SigV4, dispatches them over one of the three wire
protocols (#post for awsJson, #rest_request for rest-json,
#query_request for awsQuery), and raises the service's exception
type on a non-2xx response.
Direct Known Subclasses
- Amazonite::ApiGateway::Client
- Amazonite::CloudFormation::Client
- Amazonite::CloudWatch::Client
- Amazonite::CloudWatchLogs::Client
- Amazonite::DynamoDB::Client
- Amazonite::EventBridge::Client
- Amazonite::Iam::Client
- Amazonite::Kinesis::Client
- Amazonite::Kms::Client
- Amazonite::Lambda::Client
- Amazonite::SecretsManager::Client
- Amazonite::Sns::Client
- Amazonite::Sqs::Client
- Amazonite::Ssm::Client
- Amazonite::Sts::Client
Defined in:
core/client.crConstant Summary
-
Log =
::Log.for(self)
Constructors
Instance Method Summary
-
#post(command, url, body : String)
awsJson protocol entry point: routes the operation via the
X-Amz-Targetheader (target_prefix.command) and sendsbodyas the entire JSON request body. -
#query_request(command : String, body : String)
awsQuery protocol entry point: POST / with a form-urlencoded body (Action/Version plus the flattened operation params the caller has already built) and an XML response/error body, unlike #post's JSON.
-
#rest_request(command : String, method : String, path : String, headers : HTTP::Headers, body : String | Nil)
rest-json protocol entry point: unlike #post, the caller has already routed operation members into the method/path/headers/body themselves (rest-json has no fixed X-Amz-Target routing - the method and URI path are the routing), so this just signs and dispatches what it's given.
Constructor Detail
Instance Method Detail
awsJson protocol entry point: routes the operation via the
X-Amz-Target header (target_prefix.command) and sends body as
the entire JSON request body.
awsQuery protocol entry point: POST / with a form-urlencoded body (Action/Version plus the flattened operation params the caller has already built) and an XML response/error body, unlike #post's JSON.
rest-json protocol entry point: unlike #post, the caller has already routed operation members into the method/path/headers/body themselves (rest-json has no fixed X-Amz-Target routing - the method and URI path are the routing), so this just signs and dispatches what it's given.