Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/request / src / deps / fromNodeHttpRequestToFetchRequest.ts
Size: Mime:
import { IncomingMessage } from 'http'
import { Request, Headers } from 'apollo-server-env'

/**
 * @alias convertNodeHttpToRequest
 * @see https://github.com/apollographql/apollo-server/blob/master/packages/apollo-server-core/src/nodeHttpToRequest.ts
 */
export function fromNodeHttpRequestToFetchRequest(
  req: IncomingMessage
): Request {
  const headers = new Headers()
  Object.keys(req.headers).forEach(key => {
    const values = req.headers[key]!
    if (Array.isArray(values)) {
      values.forEach(value => headers.append(key, value))
    } else {
      headers.append(key, values)
    }
  })

  return new Request(req.url!, {
    headers,
    method: req.method,
  })
}