1.0.1-beta2 • Published 4 years ago

@firstandthird/macro-http-api v1.0.1-beta2

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
4 years ago

arc-macro-http

Forward compat path to migrate Architect to API Gateway to HTTP APIs from REST APIs.

Omg Why?!

  • HTTP APIs are faster
  • HTTP APIs are cheaper
  • New request payload is better for parsing multivalue headers and cookies
  • New response schema cleans up barfy boilerplate

Before:

exports.handler = async function http(req) {
  // req.headers.cookie (big string u need to parse)
  // req.multiValueHeaders.cookie (array of strings)
  return {
    isBase64Encoded: false,
    statusCode: 200,
    headers: { 
      'Content-Type': 'application/json' 
    },
    body: JSON.stringify({
      name: 'John Doe',
      message: 'hello',
    })
  }
}

After:

exports.handler = async function http(req) {
  // req.cookies 👍🏽
  return {
    name: "John Doe",
    message: "hello"
  }
}

Way more chill 🧊

Ok..How?!

Install:

npm i @architect/macro-http-api

And add to your arcfile:

@app
myapp

@macros
architect/macro-http-api

@http
get /

⚠️ Warning! you must return {statusCode, body, headers} if the payload is NOT application/json

That's it!