@skywatch/server

1.2.4 • Public • Published

Skwatch API Server

Installation

npm install @skywatch/server

or

yarn add @skywatch/server

How to use:

Create GET and POST methods on your server.

Take Express as an example.

For dev needs, you can just copy this code snippet and launch your Express service on the local.

const bodyParser = require('body-parser');
const express = require('express');
const skywatchServer = require('@skywatch/server');

const port = 3000;

app.prepare().then(() => {
  const server = express();
  
  const verify = (req, _, buf) => {
    req.rawBody = buf.toString();
  };
  server.use(bodyParser.json({ verify }));
  server.use(bodyParser.urlencoded({ extended: false, verify }));

  // skywatch api library for GET request
  server.get('/*', async (req, res) => {
    try {
      const result = await skywatchServer.Skywatch(req);
      res.send(result.data);
    } catch (err) {
      res.status(err.response.status).send(err.response.data);
    }
  });

  // skywatch api library for POST request
  server.post('/*', async (req, res) => {
    try {
      const result = await skywatchServer.Skywatch(req);
      res.send(result.data);
    } catch (err) {
      res.status(err.response.status).send(err.response.data);
    }
  });

  server.listen(port, (err) => {
    if (err) return console.log(`Something bad happened: ${err}`);
    console.log(`Node.js server listening on ${port}`);
  });
});

Detail

const skywatchServer = require('@skywatch/server');

server.get('/*', async (req, res) => {
  try {
    const result = await skywatchServer.Skywatch(req);
    res.send(result.data);
  } catch (err) {
    res.status(err.response.status).send(err.response.data);
  }
});

server.post('/*', async (req, res) => {
  try {
    const result = await skywatchServer.Skywatch(req);
    res.send(result.data);
  } catch (err) {
    res.status(err.response.status).send(err.response.data);
  }
});

Readme

Keywords

none

Package Sidebar

Install

npm i @skywatch/server

Weekly Downloads

9

Version

1.2.4

License

Apache-2.0

Unpacked Size

7.86 kB

Total Files

9

Last publish

Collaborators

  • ryoko.li
  • adam.lee
  • vince_lee