From 18199b32ad5dc9b62440a14d0c50af7db5139fb3 Mon Sep 17 00:00:00 2001 From: calzoneman Date: Sun, 24 May 2015 11:19:59 -0400 Subject: [PATCH] Add status message map for pre-node v0.12 servers --- lib/ffmpeg.js | 5 +++- lib/status-messages.js | 59 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 lib/status-messages.js diff --git a/lib/ffmpeg.js b/lib/ffmpeg.js index ce16cad6..ee6d664c 100644 --- a/lib/ffmpeg.js +++ b/lib/ffmpeg.js @@ -4,6 +4,7 @@ var spawn = require("child_process").spawn; var https = require("https"); var http = require("http"); var urlparse = require("url"); +var statusMessages = require("./status-messages"); var USE_JSON = true; @@ -48,7 +49,9 @@ function testUrl(url, cb, redirected) { } if (res.statusCode !== 200) { - return cb("HTTP " + res.statusCode + " " + res.statusMessage); + var message = statusMessages[res.statusCode]; + if (!message) message = ""; + return cb("HTTP " + res.statusCode + " " + message); } if (!/^audio|^video/.test(res.headers['content-type'])) { diff --git a/lib/status-messages.js b/lib/status-messages.js new file mode 100644 index 00000000..1df4969b --- /dev/null +++ b/lib/status-messages.js @@ -0,0 +1,59 @@ +module.exports = { + 100: 'Continue', + 101: 'Switching Protocols', + 102: 'Processing', + 200: 'OK', + 201: 'Created', + 202: 'Accepted', + 203: 'Non-Authoritative Information', + 204: 'No Content', + 205: 'Reset Content', + 206: 'Partial Content', + 207: 'Multi-Status', + 300: 'Multiple Choices', + 301: 'Moved Permanently', + 302: 'Moved Temporarily', + 303: 'See Other', + 304: 'Not Modified', + 305: 'Use Proxy', + 307: 'Temporary Redirect', + 308: 'Permanent Redirect', + 400: 'Bad Request', + 401: 'Unauthorized', + 402: 'Payment Required', + 403: 'Forbidden', + 404: 'Not Found', + 405: 'Method Not Allowed', + 406: 'Not Acceptable', + 407: 'Proxy Authentication Required', + 408: 'Request Time-out', + 409: 'Conflict', + 410: 'Gone', + 411: 'Length Required', + 412: 'Precondition Failed', + 413: 'Request Entity Too Large', + 414: 'Request-URI Too Large', + 415: 'Unsupported Media Type', + 416: 'Requested Range Not Satisfiable', + 417: 'Expectation Failed', + 418: 'I\'m a teapot', + 422: 'Unprocessable Entity', + 423: 'Locked', + 424: 'Failed Dependency', + 425: 'Unordered Collection', + 426: 'Upgrade Required', + 428: 'Precondition Required', + 429: 'Too Many Requests', + 431: 'Request Header Fields Too Large', + 500: 'Internal Server Error', + 501: 'Not Implemented', + 502: 'Bad Gateway', + 503: 'Service Unavailable', + 504: 'Gateway Time-out', + 505: 'HTTP Version Not Supported', + 506: 'Variant Also Negotiates', + 507: 'Insufficient Storage', + 509: 'Bandwidth Limit Exceeded', + 510: 'Not Extended', + 511: 'Network Authentication Required' +};