mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-01-20 22:52:46 -05:00
return an appropriate X-Status-Cat header
This commit is contained in:
parent
6a7226bb83
commit
fecffa2a39
2 changed files with 80 additions and 0 deletions
|
@ -6,6 +6,7 @@ var express = require('express')
|
|||
, UError = require('./error').UserError
|
||||
, Middleware = require('./middleware')
|
||||
, Logger = require('./logger')
|
||||
, Cats = require('./status-cats')
|
||||
, basic_auth = Middleware.basic_auth
|
||||
, validate_name = Middleware.validate_name
|
||||
, media = Middleware.media
|
||||
|
@ -58,6 +59,11 @@ module.exports = function(config_hash) {
|
|||
})
|
||||
|
||||
app.use(Middleware.log_and_etagify)
|
||||
app.use(function(req, res, next) {
|
||||
res.setHeader('X-Powered-By', 'Sinopia')
|
||||
next()
|
||||
})
|
||||
app.use(Cats.middleware)
|
||||
app.use(basic_auth(function(user, pass) {
|
||||
return config.authenticate(user, pass)
|
||||
}))
|
||||
|
|
74
lib/status-cats.js
Normal file
74
lib/status-cats.js
Normal file
|
@ -0,0 +1,74 @@
|
|||
|
||||
// see https://secure.flickr.com/photos/girliemac/sets/72157628409467125
|
||||
|
||||
var images = {
|
||||
100: 'aVvDhR', // '6512768893', // 100 - Continue
|
||||
101: 'aXXExP', // '6540479029', // 101 - Switching Protocols
|
||||
200: 'aVuVsF', // '6512628175', // 200 - OK
|
||||
201: 'aXWm1Z', // '6540221577', // 201 - Created
|
||||
202: 'aXXEyF', // '6540479079', // 202 - Accepted
|
||||
204: 'aYyJ7B', // '6547319943', // 204 - No Content
|
||||
206: 'aVEnUP', // '6514473163', // 206 - Partial Content
|
||||
207: 'aVEnRD', // '6514472979', // 207 - Multi-Status
|
||||
300: 'aW7mac', // '6519540181', // 300 - Multiple Choices
|
||||
301: 'aW7mb4', // '6519540231', // 301 - Moved Permanently
|
||||
302: 'aV6jKp', // '6508023829', // 302 - Found
|
||||
303: 'aVxtaK', // '6513125065', // 303 - See Other
|
||||
304: 'aXY3dH', // '6540551929', // 304 - Not Modified
|
||||
305: 'aXX5LK', // '6540365403', // 305 - Use Proxy
|
||||
307: 'aVwQnk', // '6513001269', // 307 - Temporary Redirect
|
||||
400: 'aXYDeT', // '6540669737', // 400 - Bad Request
|
||||
401: 'aV6jwe', // '6508023065', // 401 - Unauthorized
|
||||
402: 'aVwQoe', // '6513001321', // 402 - Payment Required
|
||||
403: 'aV6jFK', // '6508023617', // 403 - Forbidden
|
||||
404: 'aV6juR', // '6508022985', // 404 - Not Found
|
||||
405: 'aV6jE8', // '6508023523', // 405 - Method Not Allowed
|
||||
406: 'aV6jxa', // '6508023119', // 406 - Not Acceptable
|
||||
408: 'aV6jyc', // '6508023179', // 408 - Request Timeout
|
||||
409: 'aV6jzz', // '6508023259', // 409 - Conflict
|
||||
410: 'aVES2H', // '6514567755', // 410 - Gone
|
||||
411: 'aXYVpT', // '6540724141', // 411 - Length Required
|
||||
413: 'aV6jHZ', // '6508023747', // 413 - Request Entity Too Large
|
||||
414: 'aV6jBa', // '6508023351', // 414 - Request-URI Too Long
|
||||
416: 'aVxQvr', // '6513196851', // 416 - Requested Range Not Satisfiable
|
||||
417: 'aV6jGP', // '6508023679', // 417 - Expectation Failed
|
||||
418: 'aV6J7c', // '6508102407', // 418 - I'm a teapot
|
||||
422: 'aVEnTt', // '6514473085', // 422 - Unprocessable Entity
|
||||
423: 'aVEyVZ', // '6514510235', // 423 - Locked
|
||||
424: 'aVEWZ6', // '6514584423', // 424 - Failed Dependency
|
||||
425: 'aXYdzH', // '6540586787', // 425 - Unordered Collection
|
||||
426: 'aVdo4M', // '6509400771', // 426 - Upgrade Required
|
||||
429: 'aVdo8F', // '6509400997', // 429 - Too Many Requests
|
||||
431: 'aVdo3n', // '6509400689', // 431 - Request Header Fields Too Large
|
||||
444: 'aVdo1P', // '6509400599', // 444 - No Response
|
||||
450: 'aVxtbK', // '6513125123', // 450 - Blocked by Windows Parental Controls
|
||||
451: 'eTiGQd', // '9113233540', // 451 - Unavailable for Legal Reasons
|
||||
500: 'aVdo6e', // '6509400855', // 500 - Internal Server Error
|
||||
502: 'aV6jCv', // '6508023429', // 502 - Bad Gateway
|
||||
503: 'aXYvop', // '6540643319', // 503 - Service Unavailable
|
||||
506: 'aXYvnH', // '6540643279', // 506 - Variant Also Negotiates
|
||||
507: 'aVdnZa', // '6509400503', // 507 - Insufficient Storage
|
||||
508: 'aVdnYa', // '6509400445', // 508 - Loop Detected
|
||||
509: 'aXXg1V', // '6540399865', // 509 - Bandwidth Limit Exceeded
|
||||
599: 'aVdo7v', // '6509400929', // 599 - Network connect timeout error
|
||||
}
|
||||
|
||||
module.exports.get_image = function(status) {
|
||||
if (status in images) {
|
||||
return 'http://flic.kr/p/'+images[status]
|
||||
//return 'https://secure.flickr.com/photos/girliemac/'+images[status]+'/in/set-72157628409467125/lightbox/'
|
||||
}
|
||||
}
|
||||
|
||||
module.exports.middleware = function(req, res, next) {
|
||||
var _writeHead = res.writeHead
|
||||
res.writeHead = function(status) {
|
||||
if (status in images) {
|
||||
res.setHeader("X-Status-Cat", module.exports.get_image(status))
|
||||
}
|
||||
_writeHead.apply(res, arguments)
|
||||
}
|
||||
|
||||
next()
|
||||
}
|
||||
|
Loading…
Add table
Reference in a new issue