Coder Social home page Coder Social logo

webtask-tools's Introduction

Usage

This module contains helper functions to convert common http(s) servers to functions suitable for running in a webtask.

Example

This example shows how you can transform an entire express server into a function suitable for using in a webtask.

webtask.js

var Express = require('express');
var Webtask = require('webtask-tools');
var server = Express();

server.use(require('body-parser').json());

// Create
server.post('/', function (req, res) {
    createInMongo(req.webtaskContext.data.MONGO_URL, req.body, function (err, data) {
        if (err) return res.status(500).send("Error creating record.");
        
        res.json(data);
    });
});

// Read
server.get('/', function (req, res) {
    fetchDataFromMongo(req.webtaskContext.data.MONGO_URL, function (err, data) {
        if (err) return res.status(500).send("Error reading record.");
        
        res.json(data);
    });
});

// Update
server.put('/', function (req, res) {
    updateInMongo(req.webtaskContext.data.MONGO_URL, req.body, function (err, data) {
        if (err) return res.status(500).send("Error updating record.");
        
        res.json(data);
    });
});

// Delete
server.del('/', function (req, res) {
    removeFromMongo(req.webtaskContext.data.MONGO_URL, function (err, data) {
        if (err) return res.status(500).send("Error removing record.");
        
        res.json(data);
    });
});

// Expose this express server as a webtask-compatible function

module.exports = Webtask.fromExpress(server);

API

Runner.fromConnect(connectServer)

Alias: Runner.fromExpress

Returns a function that will inject a single request into the supplied server with the 3-argument webtask signature:

function (context, req, res) {}

The webtask context object will be available as req.webtaskContext from within route handlers.

Runner.fromServer(httpServer)

Alias: Runner.fromRestify

Returns a function that will inject a single request into the supplied server with the 3-argument webtask signature:

function (context, req, res) {}

The webtask context object will be available as req.webtaskContext from within route handlers.

Runner.fromHapi(hapiServer)

Returns a function that will inject a single request into the supplied server with the 3-argument webtask signature:

function (context, req, res) {}

The webtask context object will be available as request.webtaskContext from within route handlers.

Issue Reporting

If you have found a bug or if you have a feature request, please report them at this repository issues section. Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.

Author

Auth0

License

This project is licensed under the MIT license. See the LICENSE file for more info.

webtask-tools's People

Contributors

ggoodman avatar tjanczuk avatar glennblock avatar scott-parsons avatar mehreencs87 avatar flevour avatar jcenturion avatar woloski avatar twistedstream avatar rwtombaugh avatar cfjedimaster avatar skyhacks avatar

Watchers

Syed Peer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.