]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server.ts
Finish admin design
[github/Chocobozzz/PeerTube.git] / server.ts
index 84535c7a5ab5e53bfacc23fb7b82e2ce90a93779..39caf89963b7b33c219a4d7eb9707a1765e32134 100644 (file)
--- a/server.ts
+++ b/server.ts
@@ -29,7 +29,7 @@ if (missed.length !== 0) {
   throw new Error('Your configuration files miss keys: ' + missed)
 }
 
-import { API_VERSION, CONFIG, STATIC_PATHS } from './server/initializers/constants'
+import { ACCEPT_HEADERS, API_VERSION, CONFIG, STATIC_PATHS } from './server/initializers/constants'
 checkFFmpeg(CONFIG)
 
 const errorMessage = checkConfig()
@@ -76,7 +76,10 @@ app.use(morgan('combined', {
   stream: { write: logger.info }
 }))
 // For body requests
-app.use(bodyParser.json({ limit: '500kb' }))
+app.use(bodyParser.json({
+  type: [ 'application/json', 'application/*+json' ],
+  limit: '500kb'
+}))
 app.use(bodyParser.urlencoded({ extended: false }))
 
 // ----------- Tracker -----------
@@ -126,7 +129,11 @@ app.use('/', staticRouter)
 
 // Always serve index client page (the client is a single page application, let it handle routing)
 app.use('/*', function (req, res) {
-  res.sendFile(path.join(__dirname, '../client/dist/index.html'))
+  if (req.accepts(ACCEPT_HEADERS) === 'html') {
+    return res.sendFile(path.join(__dirname, '../client/dist/index.html'))
+  }
+
+  return res.status(404).end()
 })
 
 // ----------- Errors -----------