constructor(event) {
    const lowerCaseHeaders = normalizeHeaders(event, true)

    this.headers = normalizeHeaders(event)
    this.url = {
      path: '',
      port: lowerCaseHeaders['x-forwarded-port'],
      requestParameters: normalizeQueryStringParameters(event)
    }
    this.method = ''

    if (isGatewayV1ProxyEvent(event) === true) {
      logger.trace('Web proxy event is API Gateway v1 or ALB')
      this.url.path = event.path
      this.method = event.httpMethod
    } else if (isGatewayV2ProxyEvent(event) === true) {
      logger.trace('Web proxy event is API Gateway v2')
      this.url.path = event.requestContext.http.path
      this.method = event.requestContext.http.method
    }

    this.transportType = lowerCaseHeaders['x-forwarded-proto']
  }
This class captures data needed to construct a web transaction from
an API Gateway Lambda proxy request. This is to be used with the setWebRequest
method.