Documentation
¶
Overview ¶
package aws implements the `whosonfirst/go-webhookd` interfaces for dispatching webhooks originating from GitHub to AWS services.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewLambdaDispatcher ¶
NewLambdaDispatcher returns a new `LambdaDispatcher` instance configured by 'uri' in the form of:
lambda://{FUNCTION_NAME}?{PARAMETERS}
Where {PARAMETERS} are: * `dsn=` A valid `aaronland/go-aws-session` string used to create an AWS session instance. * `invocation_type=` The name of AWS Lambda invocation type. Valid options are: RequestResponse, Event, DryRun. * `?halt_on_message` An optional regular expression that will be compared to the commit message; if it matches the transformer will return an error with code `webhookd.HaltEvent` * `?halt_on_author` An optional regular expression that will be compared to the commit author; if it matches the transformer will return an error with code `webhookd.HaltEvent`
Types ¶
type LambdaDispatcher ¶
type LambdaDispatcher struct {
webhookd.WebhookDispatcher
// LambdaFunction is the name of the Lambda function to invoke.
LambdaFunction string
// LambdaService is `aws-sdk-go/service/lambda.Lambda` instance use to invoke a Lambda function.
LambdaService *lambda.Lambda
// contains filtered or unexported fields
}
LambdaDispatcher implements the `webhookd.WebhookDispatcher` interface for dispatching messages to an AWS Lambda function.
func (*LambdaDispatcher) Dispatch ¶
func (d *LambdaDispatcher) Dispatch(ctx context.Context, body []byte) *webhookd.WebhookError
Dispatch() relays 'body' as base64-endoded JSON string to the AWS Lambda function defined when 'd' was instantiated.