@architect/macro-http-apideprecated

use http apis instead of rest apis with api gateway

Usage no npm install needed!

<script type="module">
  import architectMacroHttpApi from 'https://cdn.skypack.dev/@architect/macro-http-api';
</script>

README

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 /

That's it!