From 03eae2f1efdaa43689c5de0465832c6913d784b1 Mon Sep 17 00:00:00 2001 From: Cassie Tarakajian Date: Tue, 28 Nov 2017 14:48:50 -0500 Subject: [PATCH] fixes #479 and fixes #449 --- server/routes/asset.routes.js | 11 +++++++++++ server/routes/file.routes.js | 1 - server/routes/server.routes.js | 3 --- server/server.js | 2 ++ server/utils/previewGeneration.js | 2 +- server/utils/requestsOfType.js | 3 +++ 6 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 server/routes/asset.routes.js diff --git a/server/routes/asset.routes.js b/server/routes/asset.routes.js new file mode 100644 index 00000000..4ded4ea1 --- /dev/null +++ b/server/routes/asset.routes.js @@ -0,0 +1,11 @@ +import { Router } from 'express'; +import { getProjectAsset } from '../controllers/project.controller'; +import { getFileContent } from '../controllers/file.controller'; + +const router = new Router(); + +router.route('/:username/sketches/:project_id/*').get(getProjectAsset); + +router.route('/sketches/:project_id/assets/*?').get(getFileContent); + +export default router; diff --git a/server/routes/file.routes.js b/server/routes/file.routes.js index 0146184c..deefe5dd 100644 --- a/server/routes/file.routes.js +++ b/server/routes/file.routes.js @@ -5,6 +5,5 @@ const router = new Router(); router.route('/projects/:project_id/files').post(FileController.createFile); router.route('/projects/:project_id/files/:file_id').delete(FileController.deleteFile); -router.route('/projects/:project_id/*?').get(FileController.getFileContent); export default router; diff --git a/server/routes/server.routes.js b/server/routes/server.routes.js index 28c3128c..2c4c3571 100644 --- a/server/routes/server.routes.js +++ b/server/routes/server.routes.js @@ -28,9 +28,6 @@ router.route('/:username/sketches/:project_id').get((req, res) => { res.send(renderIndex()); }); -router.route('/:username/sketches/:project_id/*').get((req, res) => { - getProjectAsset(req, res); -}); // router.route('/full/:project_id').get((req, res) => { // res.send(renderIndex()); diff --git a/server/server.js b/server/server.js index e1f95165..bfd08949 100644 --- a/server/server.js +++ b/server/server.js @@ -24,6 +24,7 @@ import files from './routes/file.routes'; import aws from './routes/aws.routes'; import serverRoutes from './routes/server.routes'; import embedRoutes from './routes/embed.routes'; +import assetRoutes from './routes/asset.routes'; import { requestsOfTypeJSON } from './utils/requestsOfType'; import { renderIndex } from './views/index'; @@ -91,6 +92,7 @@ app.use('/api', requestsOfTypeJSON(), sessions); app.use('/api', requestsOfTypeJSON(), projects); app.use('/api', requestsOfTypeJSON(), files); app.use('/api', requestsOfTypeJSON(), aws); +app.use(assetRoutes); // this is supposed to be TEMPORARY -- until i figure out // isomorphic rendering app.use('/', csrfToken, serverRoutes); diff --git a/server/utils/previewGeneration.js b/server/utils/previewGeneration.js index 983f1f9c..94bc6c96 100644 --- a/server/utils/previewGeneration.js +++ b/server/utils/previewGeneration.js @@ -26,7 +26,7 @@ function resolveLinksInString(content, files, projectId) { while (resolvedFilePath.startsWith('/')) { resolvedFilePath = resolvedFilePath.substr(1); } - newContent = newContent.replace(filePath, `/api/projects/${projectId}/${resolvedFilePath}`); + newContent = newContent.replace(filePath, `/sketches/${projectId}/assets/${resolvedFilePath}`); } } } diff --git a/server/utils/requestsOfType.js b/server/utils/requestsOfType.js index cac9bca4..d83d17dd 100644 --- a/server/utils/requestsOfType.js +++ b/server/utils/requestsOfType.js @@ -4,7 +4,10 @@ header does not match `type` */ const requestsOfType = type => (req, res, next) => { + console.log(req); + console.log(req.get('content-type')); if (req.get('content-type') != null && !req.is(type)) { + console.log('in requests of type error'); return next({ statusCode: 406 }); // 406 UNACCEPTABLE }