makeEventData function

Map<String, dynamic> makeEventData({
  1. Map<String, dynamic> body = const <String, dynamic>{},
  2. Map<String, dynamic> headers = const <String, dynamic>{},
  3. String resourcePath = '/',
  4. String requestPath = '/',
  5. HttpMethod httpMethod = HttpMethod.get,
  6. Map<String, dynamic> queryString = const <String, dynamic>{},
  7. Map<String, dynamic> stageVars = const <String, dynamic>{},
  8. Map<String, dynamic> pathParams = const <String, dynamic>{},
  9. bool fakeAuth = true,
})

Implementation

Map<String, dynamic> makeEventData({
  Map<String, dynamic> body = const <String, dynamic>{},
  Map<String, dynamic> headers = const <String, dynamic>{},
  String resourcePath = '/',
  String requestPath = '/',
  HttpMethod httpMethod = HttpMethod.get,
  Map<String, dynamic> queryString = const <String, dynamic>{},
  Map<String, dynamic> stageVars = const <String, dynamic>{},
  Map<String, dynamic> pathParams = const <String, dynamic>{},
  bool fakeAuth = true,
}) {
  final fullHeaders = <String, dynamic>{
    ...headers,
    ...(fakeAuth ? getFakeAuthHeaders() : <String, dynamic>{})
  };
  var result = <String, dynamic>{
    'version': '2',
    'routeKey': 'default',
    'rawPath': requestPath,
    'rawQueryString': '',
    'cookies': <dynamic>[],
    'resource': resourcePath,
    'requestContext': ApiGatewayRequestContext(
      accountId: randomId(),
      apiId: randomId(),
      authorizer: <String, ApiGatewayAuthorizer>{},
      domainName: 'testing.tld',
      domainPrefix: '',
      http: <String, String>{},
      requestId: randomId(),
      routeKey: 'default',
      stage: 'test',
      time: DateTime.now(),
      timeEpoch: (DateTime.now().millisecondsSinceEpoch / 1000).floor(),
    ).toJson(),
    'path': requestPath,
    'httpMethod': httpMethod.name.toUpperCase(),
    'queryStringParameters': queryString,
    'stageVariables': stageVars,
    'pathParameters': pathParams,
    'body': jsonEncode(body),
    'isBase64Encoded': false,
    'headers': fullHeaders,
  };
  return result;
}