From 394fa448b820eb0faee5c9fb5bcb8078f664fffd Mon Sep 17 00:00:00 2001 From: Nathaniel McCallum Date: Oct 26 2016 17:29:46 +0000 Subject: Merge branch 'master' into epel7 --- diff --git a/.gitignore b/.gitignore index 1e2af03..c3e8ebe 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ /joyent-http-parser-v2.0-0-g3fb4e06.tar.gz /joyent-http-parser-v2.0-5-g245f6f0.tar.gz /joyent-http-parser-v2.0-7-gcd01361.tar.gz +/v2.6.0.tar.gz +/v2.7.1.tar.gz diff --git a/http-parser-status.patch b/http-parser-status.patch new file mode 100644 index 0000000..451104c --- /dev/null +++ b/http-parser-status.patch @@ -0,0 +1,98 @@ +From 335850f6b868d3411968cbf5a4d59fe619dee36f Mon Sep 17 00:00:00 2001 +From: Nathaniel McCallum +Date: Thu, 6 Oct 2016 02:03:36 -0400 +Subject: [PATCH] parser: HTTP_STATUS_MAP(XX) and enum http_status + +This patch provides an enum for the standardized HTTP status codes. +Additionally, the HTTP_STATUS_MAP(XX) can be used for other purposes as +well, such as code-to-name lookups and code-based switch statements. + +PR-URL: https://github.com/nodejs/http-parser/pull/337 +Reviewed-By: Fedor Indutny +Reviewed-By: Brian White +Reviewed-By: Ben Noordhuis +--- + http_parser.h | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 70 insertions(+) + +diff --git a/http_parser.h b/http_parser.h +index ea26394..45c72a0 100644 +--- a/http_parser.h ++++ b/http_parser.h +@@ -90,6 +90,76 @@ typedef int (*http_data_cb) (http_parser*, const char *at, size_t length); + typedef int (*http_cb) (http_parser*); + + ++/* Status Codes */ ++#define HTTP_STATUS_MAP(XX) \ ++ XX(100, CONTINUE, Continue) \ ++ XX(101, SWITCHING_PROTOCOLS, Switching Protocols) \ ++ XX(102, PROCESSING, Processing) \ ++ XX(200, OK, OK) \ ++ XX(201, CREATED, Created) \ ++ XX(202, ACCEPTED, Accepted) \ ++ XX(203, NON_AUTHORITATIVE_INFORMATION, Non-Authoritative Information) \ ++ XX(204, NO_CONTENT, No Content) \ ++ XX(205, RESET_CONTENT, Reset Content) \ ++ XX(206, PARTIAL_CONTENT, Partial Content) \ ++ XX(207, MULTI_STATUS, Multi-Status) \ ++ XX(208, ALREADY_REPORTED, Already Reported) \ ++ XX(226, IM_USED, IM Used) \ ++ XX(300, MULTIPLE_CHOICES, Multiple Choices) \ ++ XX(301, MOVED_PERMANENTLY, Moved Permanently) \ ++ XX(302, FOUND, Found) \ ++ XX(303, SEE_OTHER, See Other) \ ++ XX(304, NOT_MODIFIED, Not Modified) \ ++ XX(305, USE_PROXY, Use Proxy) \ ++ XX(307, TEMPORARY_REDIRECT, Temporary Redirect) \ ++ XX(308, PERMANENT_REDIRECT, Permanent Redirect) \ ++ XX(400, BAD_REQUEST, Bad Request) \ ++ XX(401, UNAUTHORIZED, Unauthorized) \ ++ XX(402, PAYMENT_REQUIRED, Payment Required) \ ++ XX(403, FORBIDDEN, Forbidden) \ ++ XX(404, NOT_FOUND, Not Found) \ ++ XX(405, METHOD_NOT_ALLOWED, Method Not Allowed) \ ++ XX(406, NOT_ACCEPTABLE, Not Acceptable) \ ++ XX(407, PROXY_AUTHENTICATION_REQUIRED, Proxy Authentication Required) \ ++ XX(408, REQUEST_TIMEOUT, Request Timeout) \ ++ XX(409, CONFLICT, Conflict) \ ++ XX(410, GONE, Gone) \ ++ XX(411, LENGTH_REQUIRED, Length Required) \ ++ XX(412, PRECONDITION_FAILED, Precondition Failed) \ ++ XX(413, PAYLOAD_TOO_LARGE, Payload Too Large) \ ++ XX(414, URI_TOO_LONG, URI Too Long) \ ++ XX(415, UNSUPPORTED_MEDIA_TYPE, Unsupported Media Type) \ ++ XX(416, RANGE_NOT_SATISFIABLE, Range Not Satisfiable) \ ++ XX(417, EXPECTATION_FAILED, Expectation Failed) \ ++ XX(421, MISDIRECTED_REQUEST, Misdirected Request) \ ++ XX(422, UNPROCESSABLE_ENTITY, Unprocessable Entity) \ ++ XX(423, LOCKED, Locked) \ ++ XX(424, FAILED_DEPENDENCY, Failed Dependency) \ ++ XX(426, UPGRADE_REQUIRED, Upgrade Required) \ ++ XX(428, PRECONDITION_REQUIRED, Precondition Required) \ ++ XX(429, TOO_MANY_REQUESTS, Too Many Requests) \ ++ XX(431, REQUEST_HEADER_FIELDS_TOO_LARGE, Request Header Fields Too Large) \ ++ XX(451, UNAVAILABLE_FOR_LEGAL_REASONS, Unavailable For Legal Reasons) \ ++ XX(500, INTERNAL_SERVER_ERROR, Internal Server Error) \ ++ XX(501, NOT_IMPLEMENTED, Not Implemented) \ ++ XX(502, BAD_GATEWAY, Bad Gateway) \ ++ XX(503, SERVICE_UNAVAILABLE, Service Unavailable) \ ++ XX(504, GATEWAY_TIMEOUT, Gateway Timeout) \ ++ XX(505, HTTP_VERSION_NOT_SUPPORTED, HTTP Version Not Supported) \ ++ XX(506, VARIANT_ALSO_NEGOTIATES, Variant Also Negotiates) \ ++ XX(507, INSUFFICIENT_STORAGE, Insufficient Storage) \ ++ XX(508, LOOP_DETECTED, Loop Detected) \ ++ XX(510, NOT_EXTENDED, Not Extended) \ ++ XX(511, NETWORK_AUTHENTICATION_REQUIRED, Network Authentication Required) \ ++ ++enum http_status ++ { ++#define XX(num, name, string) HTTP_STATUS_##name = num, ++ HTTP_STATUS_MAP(XX) ++#undef XX ++ }; ++ ++ + /* Request Methods */ + #define HTTP_METHOD_MAP(XX) \ + XX(0, DELETE, DELETE) \ diff --git a/http-parser.spec b/http-parser.spec index 7c904f6..549dfa3 100644 --- a/http-parser.spec +++ b/http-parser.spec @@ -1,26 +1,24 @@ # we use the upstream version from http_parser.h as the SONAME %global somajor 2 -%global sominor 0 - -%global git_date 20121128 -%global git_commit_hash cd01361 -%global github_seq 7 +%global sominor 7 +%global sopoint 1 Name: http-parser -Version: %{somajor}.%{sominor} -Release: 5.%{git_date}git%{git_commit_hash}%{?dist} +Version: %{somajor}.%{sominor}.%{sopoint} +Release: 3%{?dist} Summary: HTTP request/response parser for C Group: System Environment/Libraries License: MIT URL: http://github.com/joyent/http-parser -# download from https://github.com/joyent/http-parser/tarball/%%{version} -Source0: joyent-http-parser-v%{version}-%{github_seq}-g%{git_commit_hash}.tar.gz + +Source0: https://github.com/nodejs/http-parser/archive/v%{version}.tar.gz BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) # Build shared library with SONAME using gyp and remove -O flags so optflags take over # TODO: do this nicely upstream Patch1: http-parser-gyp-sharedlib.patch +Patch2: http-parser-status.patch BuildRequires: gyp BuildRequires: util-linux @@ -44,8 +42,7 @@ Development headers and libraries for http-parser. %prep -%setup -q -n joyent-http-parser-%{git_commit_hash} -%patch1 +%autosetup -n http-parser-%{version} %build @@ -92,7 +89,8 @@ rm -rf %{buildroot} %defattr(-,root,root,-) %{_libdir}/libhttp_parser.so.* %{_libdir}/libhttp_parser_strict.so.* -%doc AUTHORS CONTRIBUTIONS LICENSE-MIT README.md +%doc AUTHORS README.md +%license LICENSE-MIT %files devel @@ -103,8 +101,33 @@ rm -rf %{buildroot} %changelog -* Mon Dec 07 2015 Dan HorĂ¡k - 2.0-5.20121128gitcd01361 -- Update BR +* Tue Oct 25 2016 Nathaniel McCallum - 2.7.1-3 +- Add (upstreamed) status code patch + +* Tue Aug 16 2016 Stephen Gallagher - 2.7.1-2 +- Upgrade to version 2.7.1 + +* Wed Feb 03 2016 Fedora Release Engineering - 2.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Dec 01 2015 Stephen Gallagher 2.6.0-1 +- Upgrade to version 2.6.0 +- Change to new upstream at https://github.com/nodejs/http-parser/ + +* Wed Jun 17 2015 Fedora Release Engineering - 2.0-9.20121128gitcd01361 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 2.0-8.20121128gitcd01361 +- Rebuilt for GCC 5 C++11 ABI change + +* Sat Aug 16 2014 Fedora Release Engineering - 2.0-7.20121128gitcd01361 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 2.0-6.20121128gitcd01361 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 2.0-5.20121128gitcd01361 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Thu Feb 14 2013 Fedora Release Engineering - 2.0-4.20121128gitcd01361 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild @@ -152,4 +175,5 @@ rm -rf %{buildroot} - Call ldconfig (Peter Lemenkov) * Fri Sep 17 2010 Lubomir Rintel - 0.3-1.20100911git -- Initial packaging \ No newline at end of file +- Initial packaging + diff --git a/sources b/sources index e2626bb..b9c40b2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -340f2aab333c435cbaf49a4949645a06 joyent-http-parser-v2.0-7-gcd01361.tar.gz +31c6fefb6208b16d19b3f990e71cb04a v2.7.1.tar.gz