aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/controllers/api
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2016-09-19 21:33:46 +0200
committerChocobozzz <florian.bigard@gmail.com>2016-09-19 21:33:46 +0200
commitd3cd34be2fd03ea79145dfa8eb16e82d2e23191b (patch)
tree8db702444c4b72cec9de25efb2da5df0aa51cfce /server/controllers/api
parent2e92c10b6cdb32e5170aab0b4c0ff3e4c27e30d5 (diff)
downloadPeerTube-d3cd34be2fd03ea79145dfa8eb16e82d2e23191b.tar.gz
PeerTube-d3cd34be2fd03ea79145dfa8eb16e82d2e23191b.tar.zst
PeerTube-d3cd34be2fd03ea79145dfa8eb16e82d2e23191b.zip
Server: add requests stats endpoint
Diffstat (limited to 'server/controllers/api')
-rw-r--r--server/controllers/api/v1/index.js2
-rw-r--r--server/controllers/api/v1/requests.js38
2 files changed, 40 insertions, 0 deletions
diff --git a/server/controllers/api/v1/index.js b/server/controllers/api/v1/index.js
index af41bc280..2e4fb2dab 100644
--- a/server/controllers/api/v1/index.js
+++ b/server/controllers/api/v1/index.js
@@ -7,12 +7,14 @@ const router = express.Router()
7const clientsController = require('./clients') 7const clientsController = require('./clients')
8const podsController = require('./pods') 8const podsController = require('./pods')
9const remoteController = require('./remote') 9const remoteController = require('./remote')
10const requestsController = require('./requests')
10const usersController = require('./users') 11const usersController = require('./users')
11const videosController = require('./videos') 12const videosController = require('./videos')
12 13
13router.use('/clients', clientsController) 14router.use('/clients', clientsController)
14router.use('/pods', podsController) 15router.use('/pods', podsController)
15router.use('/remote', remoteController) 16router.use('/remote', remoteController)
17router.use('/requests', requestsController)
16router.use('/users', usersController) 18router.use('/users', usersController)
17router.use('/videos', videosController) 19router.use('/videos', videosController)
18router.use('/*', badRequest) 20router.use('/*', badRequest)
diff --git a/server/controllers/api/v1/requests.js b/server/controllers/api/v1/requests.js
new file mode 100644
index 000000000..6018bb40c
--- /dev/null
+++ b/server/controllers/api/v1/requests.js
@@ -0,0 +1,38 @@
1'use strict'
2
3const express = require('express')
4const mongoose = require('mongoose')
5
6const constants = require('../../../initializers/constants')
7const middlewares = require('../../../middlewares')
8const admin = middlewares.admin
9const oAuth = middlewares.oauth
10
11const Request = mongoose.model('Request')
12
13const router = express.Router()
14
15router.get('/stats',
16 oAuth.authenticate,
17 admin.ensureIsAdmin,
18 getStatsRequests
19)
20
21// ---------------------------------------------------------------------------
22
23module.exports = router
24
25// ---------------------------------------------------------------------------
26
27function getStatsRequests (req, res, next) {
28 Request.list(function (err, requests) {
29 if (err) return next(err)
30
31 const remainingMilliSeconds = constants.REQUESTS_INTERVAL - (Date.now() % constants.REQUESTS_INTERVAL)
32
33 return res.json({
34 requests: requests,
35 remainingMilliSeconds: remainingMilliSeconds
36 })
37 })
38}