Handle error for the video upload
[oweals/peertube.git] / server / middlewares / oauth2.js
1 'use strict'
2
3 const OAuthServer = require('express-oauth-server')
4
5 const logger = require('../helpers/logger')
6
7 const oAuthServer = new OAuthServer({
8   model: require('../models/users')
9 })
10
11 const oAuth2 = {
12   authenticate: authenticate,
13   token: token
14 }
15
16 function authenticate (req, res, next) {
17   oAuthServer.authenticate()(req, res, function (err) {
18     if (err) {
19       logger.error('Cannot authenticate.', { error: err })
20       return res.sendStatus(500)
21     }
22
23     if (res.statusCode === 401 || res.statusCode === 400) return res.end()
24
25     return next()
26   })
27 }
28
29 function token (req, res, next) {
30   return oAuthServer.token()(req, res, next)
31 }
32
33 // ---------------------------------------------------------------------------
34
35 module.exports = oAuth2