From 11449359e5aede03b29a454dce7601cdbe944a67 Mon Sep 17 00:00:00 2001 From: Alex Kotliarskyi Date: Tue, 24 May 2016 11:54:28 -0700 Subject: [PATCH] Add index page for packager Summary: When packager is running, visiting localhost:8081 produces ugly 404 "GET / not found" This diff adds a simple index.html page that has a title and link to documentation. It's a super tiny detail, but I hope it makes things a little nicer. Improvements are welcome. Maybe we could include an offline copy of React Native's docs website? Reviewed By: vjeux Differential Revision: D3341242 fbshipit-source-id: c8cd4b647e69eb520ea8bc978bea070551225912 --- local-cli/server/middleware/index.html | 10 ++++++++++ local-cli/server/middleware/indexPage.js | 20 ++++++++++++++++++++ local-cli/server/runServer.js | 2 ++ 3 files changed, 32 insertions(+) create mode 100644 local-cli/server/middleware/index.html create mode 100644 local-cli/server/middleware/indexPage.js diff --git a/local-cli/server/middleware/index.html b/local-cli/server/middleware/index.html new file mode 100644 index 00000000000..fdf6bf41809 --- /dev/null +++ b/local-cli/server/middleware/index.html @@ -0,0 +1,10 @@ + + + + React Native + + +

React Native packager is running.

+

Visit documentation

+ + diff --git a/local-cli/server/middleware/indexPage.js b/local-cli/server/middleware/indexPage.js new file mode 100644 index 00000000000..1ba7dca5b77 --- /dev/null +++ b/local-cli/server/middleware/indexPage.js @@ -0,0 +1,20 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ +'use strict'; + +const fs = require('fs'); +const path = require('path'); + +module.exports = function(req, res, next) { + if (req.url === '/') { + res.end(fs.readFileSync(path.join(__dirname, 'index.html'))); + } else { + next(); + } +}; diff --git a/local-cli/server/runServer.js b/local-cli/server/runServer.js index 79992f7f725..362a09ca4a8 100644 --- a/local-cli/server/runServer.js +++ b/local-cli/server/runServer.js @@ -20,6 +20,7 @@ const openStackFrameInEditorMiddleware = require('./middleware/openStackFrameInE const path = require('path'); const ReactPackager = require('../../packager/react-packager'); const statusPageMiddleware = require('./middleware/statusPageMiddleware.js'); +const indexPageMiddleware = require('./middleware/indexPage'); const systraceProfileMiddleware = require('./middleware/systraceProfileMiddleware.js'); const webSocketProxy = require('./util/webSocketProxy.js'); @@ -36,6 +37,7 @@ function runServer(args, config, readyCallback) { .use(statusPageMiddleware) .use(systraceProfileMiddleware) .use(cpuProfilerMiddleware) + .use(indexPageMiddleware) .use(packagerServer.processRequest.bind(packagerServer)); args.projectRoots.forEach(root => app.use(connect.static(root)));