From 8c07def786adf7efb4338b6797f98f0cf6318179 Mon Sep 17 00:00:00 2001 From: YOUR FULL NAME Date: Tue, 24 May 2016 09:27:01 -0700 Subject: [PATCH 1/3] finished setting up --- lib/server.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/server.js diff --git a/lib/server.js b/lib/server.js new file mode 100644 index 0000000..e69de29 From 879b5388dbb53553bc7c2d32fa22293f5c189864 Mon Sep 17 00:00:00 2001 From: YOUR FULL NAME Date: Tue, 24 May 2016 09:58:26 -0700 Subject: [PATCH 2/3] finished making CRUD operations --- lib/server.js | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/lib/server.js b/lib/server.js index e69de29..b9961a5 100644 --- a/lib/server.js +++ b/lib/server.js @@ -0,0 +1,47 @@ +'use strict'; + +const express = require('express'); +const app = express(); +const bodyParser = require('body-parser'); +const jsonParser = bodyParser.json(); +const rooneyRouter = express.Router(); + +rooneyRouter.use(jsonParser); + +app.use('/rooney', rooneyRouter); + +rooneyRouter.get('/', (req, res) => { + res.send('GLORY MAN UNITED') +}) + +rooneyRouter.get('/:id', (req,res) => { + let id = req.params.id; + console.log('hello from id get route'); + res.json({message: id.toUpperCase()}) +}) + +rooneyRouter.post('/', (req, res) => { + console.log('rooneyRouter post hit'); + console.log('request body', req.body); + res.json({message:'hello from rooneyRouter post'}); +}) + +rooneyRouter.put('/', (req, res) => { + console.log('rooneyRouter put hit'); + res.writeHead(200, {'Content-Type': 'application/json'}); + res.write(JSON.stringify({message: 'Hello from rooneyRouter put'})); + res.end(); +}) + +rooneyRouter.delete('/:id', (req, res) => { + let message = `Poor ${req.params.id} is scheit.`; + res.send(message); +}) + +app.get('/*', (req, res) => { + res.status(404).json({msg: 'not found'}) +}) + + + +app.listen(3000, () => console.log('up on 3000')); From d1fc5e7e805feaf0a4899a55a02e4cc36ecd5c62 Mon Sep 17 00:00:00 2001 From: YOUR FULL NAME Date: Tue, 24 May 2016 11:43:57 -0700 Subject: [PATCH 3/3] finished making CRUD operations --- lib/server.js | 47 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/lib/server.js b/lib/server.js index b9961a5..16e5a0f 100644 --- a/lib/server.js +++ b/lib/server.js @@ -5,6 +5,13 @@ const app = express(); const bodyParser = require('body-parser'); const jsonParser = bodyParser.json(); const rooneyRouter = express.Router(); +const fs = require('fs'); +const stream = require('stream'); + +const dir = __dirname + '/../data'; +if (!fs.existsSync(dir)) { + fs.mkdirSync(dir); +} rooneyRouter.use(jsonParser); @@ -21,16 +28,42 @@ rooneyRouter.get('/:id', (req,res) => { }) rooneyRouter.post('/', (req, res) => { - console.log('rooneyRouter post hit'); - console.log('request body', req.body); - res.json({message:'hello from rooneyRouter post'}); + // let nextFile = fs.readdirSync(dir).length + 1; + // const writeToFile = fs.createWriteStream(dir + '/' + nextFile + '.json'); + // req.pipe(writeToFile); + // res.writeHead(200, { 'Content-Type': 'text/plain' }); + // res.write('saved file ' + nextFile + '.json' + '\n'); + // console.log(nextFile); + // return res.end(); + + let bufferString = ''; + req.on('data', (data) => { + bufferString += data.toString(); + }); + req.on('end', () => { + var nextFile = (fs.readdirSync(__dirname + '/data/')).length +1 + let file = fs.createWriteStream(__dirname + '/data/test' + nextFile + '.json') + var bufferStream = new stream.PassThrough(); + let inBuf = new Buffer(bufferString); + bufferStream.end(inBuf); + bufferStream.pipe(file); + res.statusCode = 200; + return res.end('wrote to new file' + '\n'); + + }) + }) -rooneyRouter.put('/', (req, res) => { +rooneyRouter.put('/:rooney_id', (req, res) => { console.log('rooneyRouter put hit'); - res.writeHead(200, {'Content-Type': 'application/json'}); - res.write(JSON.stringify({message: 'Hello from rooneyRouter put'})); - res.end(); + let id = req.params.rooney_id; + var stream = fs.createWriteStream(__dirname + '/data/' + id + '.json'); + req.pipe(stream); + res.send('Updated Rooney' + '\n'); + + // res.writeHead(200, {'Content-Type': 'application/json'}); + // res.write(JSON.stringify({message: 'Hello from rooneyRouter put'})); + // res.end(); }) rooneyRouter.delete('/:id', (req, res) => {