aws_request 0.1.5
aws_request: ^0.1.5 copied to clipboard

An AWS request library that creates, signs, and sends aws requests. Currently under development

aws_request #

A package that generates, signs, sends requests to AWS.
This package is still under development

The repository can be found here

Supported HTTP methods are get, post, delete, patch, put.

If you have feedback or have a use case that isn't covered feel free to contact me.

Getting Started #

To get start add aws_request: ^[CURRENT_VERION], to your pubspec.yaml

Then create a request:

AwsRequest request = new AwsRequest('awsAccessKey', 'awsSecretKey', 'region');

Finally send your request by calling request.send('TYPE');

The following parameters can be provided to the send() function:

type: request type [GET, POST, PUT, etc]
service: aws service you are sending request to
target: your instance of that service plus the operation [Logs_XXXXXXXX.PutLogEvents]
signedHeaders: a list of headers aws requires in the signature.
   Default included signed headers are: [content-type, host, x-amz-date, x-amz-target]
   (You do not need to provide these in headers)
headers: any required headers. Any non-default headers included in the signedHeaders must be added here.
jsonBody: the body of the request, formatted as json
queryPath: the aws query path
queryString: the aws query string, formatted like ['abc=123&def=456']. Must be url encoded

Examples #

Here's an example of using aws_request to send a CloudWatch PutLogEvent request:

import 'package:aws_request/aws_request.dart';
import 'dart:io';

void sendCloudWatchLog(String logString) async {
  AwsRequest request = new AwsRequest('awsAccessKey', 'awsSecretKey', 'region');
  String body = """  
            {"logEvents":
              [{
                "timestamp":${DateTime.now().toUtc().millisecondsSinceEpoch},
                "message":"$logString"
              }],
              "logGroupName":"ExampleLogGroupName",
              "logStreamName":"ExampleLogStreamName"
            }""";
  HttpClientResponse result = await request.send(
    'POST',
    jsonBody: body,
    target: 'Logs_XXXXXXXX.PutLogEvents',
    service: 'logs',
  );
}
4
likes
120
pub points
55%
popularity

Publisher

Unknown

An AWS request library that creates, signs, and sends aws requests. Currently under development

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache 2.0 (LICENSE)

Dependencies

crypto, flutter, intl

More

Packages that depend on aws_request