Example #1
0
const {response, adapter} = require("spirit").node
const route = require("spirit-router")
// normally this would be require("spirit-express")
const express = require("../index")

const multer = require("multer")

const upload =  multer({ dest: 'uploads/' })

const up = (file) => {
  return response(JSON.stringify(file)).type("json")
}

// return a simple form to try out multer instead of using
// something like curl to see that it works
const home = () => {
  return "<form action='/upload' method='post' enctype='multipart/form-data'><input type='file' name='file'><input type='submit'></form>"
}

const upload_middleware = [express(upload.single("file"))]

const app = route.define([
  route.get("/", [], home),
  route.wrap(route.post("/upload", ["file"], up), upload_middleware)
])

const site = adapter(app, [])

const server = http.createServer(site)
server.listen(3009)
Example #2
0
const {host, port} = config.listen

// endregion

// region routes

const app = route.define([
	// client
	route.get('/', {
		status: 307,
		body: `<a href="${config.routes.default}">Redirect</a>`,
		headers: {
			Location: config.routes.default
		}
	}),

	// modules
	...modules(),

	// other
	route.get('/robots.txt', robots),
	route.get('/favicon.ico', () => ''),
	route.any('*', httpError.notFound)
])

// endregion

// region start

http.createServer(spirit.node.adapter(app)).listen({host, port}, () =>
	console.info(`listening on http://${host}:${port}`)
Example #3
0
const {adapter, response, redirect, errResponse } = require('spirit').node
const {compose} = require('spirit')
const {log} = require('spirit').node.middleware

const { get, post, define } = require('spirit-router')
const {createServer} = require('http')


const handler1 = (user) => {
  console.log('user handler ran')
  return `Hi, ${user}`
}


const users = define("/users", [
  get("/:user", ['user'], handler1),
  post("/", "You posted to /users")
])


const app = define([
  get("/", "Hello World"),
  users
])

const middleware1 = (handler) => {
  return (req1) => {
    return response('returned from mw1')
  // console.log('mw 1 url:', req1.url)
    return handler(req1).then( resp => {
      // console.log('m1 called last:', resp.body)
      // console.log('m1 accesing stuff from m2', resp.hello)