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)
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}`)
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)