From cb52148b2ff7c7ad64bce87686f820013219617d Mon Sep 17 00:00:00 2001 From: calzoneman Date: Wed, 8 Jul 2015 11:00:40 -0700 Subject: [PATCH] Replace lib/status-messages with status-message-polyfill --- NEWS.md | 10 +++++ lib/ffmpeg.js | 4 +- lib/status-messages.js | 83 ------------------------------------------ package.json | 3 +- 4 files changed, 14 insertions(+), 86 deletions(-) delete mode 100644 lib/status-messages.js diff --git a/NEWS.md b/NEWS.md index 5831fa93..5ea967f2 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,13 @@ +2015-07-07 +========== + + * CyTube and CyTube/mediaquery have both been updated to use + calzoneman/status-message-polyfill to polyfill res.statusMessage on older + versions of node (e.g., v0.10). After pulling, run `npm install` to update + this dependency. This fixes an issue where HTTP status messages from + mediaquery were reported as `undefined`, and removes the need for manually + looking up status messages in `lib/ffmpeg.js`. + 2015-07-06 ========== diff --git a/lib/ffmpeg.js b/lib/ffmpeg.js index 844fb369..5d65e457 100644 --- a/lib/ffmpeg.js +++ b/lib/ffmpeg.js @@ -4,7 +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"); +require("status-message-polyfill"); var USE_JSON = true; @@ -50,7 +50,7 @@ function testUrl(url, cb, redirCount) { } if (res.statusCode !== 200) { - var message = statusMessages[res.statusCode]; + var message = res.statusMessage; if (!message) message = ""; return cb("HTTP " + res.statusCode + " " + message); } diff --git a/lib/status-messages.js b/lib/status-messages.js deleted file mode 100644 index ae6a0142..00000000 --- a/lib/status-messages.js +++ /dev/null @@ -1,83 +0,0 @@ -// This status message map is taken from the node.js source code. The original -// copyright notice for lib/_http_server.js is reproduced below. -// -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -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" -}; diff --git a/package.json b/package.json index 523f7db6..38b99939 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "author": "Calvin Montgomery", "name": "CyTube", "description": "Online media synchronizer and chat", - "version": "3.8.0", + "version": "3.8.1", "repository": { "url": "http://github.com/calzoneman/sync" }, @@ -29,6 +29,7 @@ "sanitize-html": "git://github.com/calzoneman/sanitize-html", "serve-static": "^1.8.1", "socket.io": "^1.3.5", + "status-message-polyfill": "calzoneman/status-message-polyfill", "yamljs": "^0.1.6" }, "scripts": {