diff options
| -rw-r--r-- | icespider/core/core.cpp | 1 | ||||
| -rw-r--r-- | icespider/core/core.h | 1 | ||||
| -rw-r--r-- | icespider/core/ihttpRequest.cpp | 3 | ||||
| -rw-r--r-- | icespider/core/ihttpRequest.h | 11 | ||||
| -rw-r--r-- | icespider/unittests/testApp.cpp | 4 | 
5 files changed, 9 insertions, 11 deletions
| diff --git a/icespider/core/core.cpp b/icespider/core/core.cpp index 211a4da..58619aa 100644 --- a/icespider/core/core.cpp +++ b/icespider/core/core.cpp @@ -7,6 +7,7 @@ namespace IceSpider {  	DefineHttpEx(Http404_NotFound, 404, "Not found");  	DefineHttpEx(Http405_MethodNotAllowed, 405, "Method Not Allowed"); +	DefineHttpEx(Http406_NotAcceptable, 406, "Not Acceptable");  	static  	bool diff --git a/icespider/core/core.h b/icespider/core/core.h index 9b011a5..74c9108 100644 --- a/icespider/core/core.h +++ b/icespider/core/core.h @@ -22,6 +22,7 @@  namespace IceSpider {  	DeclareHttpEx(Http404_NotFound);  	DeclareHttpEx(Http405_MethodNotAllowed); +	DeclareHttpEx(Http406_NotAcceptable);  	class DLL_PUBLIC Core {  		public: diff --git a/icespider/core/ihttpRequest.cpp b/icespider/core/ihttpRequest.cpp index 9b62507..73da7ae 100644 --- a/icespider/core/ihttpRequest.cpp +++ b/icespider/core/ihttpRequest.cpp @@ -1,6 +1,7 @@  #include "ihttpRequest.h"  #include "irouteHandler.h"  #include "util.h" +#include "core.h"  #include <boost/lexical_cast.hpp>  namespace IceSpider { @@ -59,7 +60,7 @@ namespace IceSpider {  					return serializer;  				}  			} -			return ContentTypeSerializer(); +			throw Http406_NotAcceptable();  		}  		else {  			return handler->defaultSerializer(getOutputStream()); diff --git a/icespider/core/ihttpRequest.h b/icespider/core/ihttpRequest.h index 9ce869f..6537ebf 100644 --- a/icespider/core/ihttpRequest.h +++ b/icespider/core/ihttpRequest.h @@ -49,14 +49,9 @@ namespace IceSpider {  			void response(const IRouteHandler * route, const T & t) const  			{  				auto s = getSerializer(route); -				if (s.second) { -					getOutputStream() << "Content-Type: " << s.first.group << "/" << s.first.type << "\r\n"; -					response(200, "OK"); -					Slicer::SerializeAnyWith<T>(t, s.second); -				} -				else { -					response(406, "Unacceptable"); -				} +				getOutputStream() << "Content-Type: " << s.first.group << "/" << s.first.type << "\r\n"; +				response(200, "OK"); +				Slicer::SerializeAnyWith<T>(t, s.second);  			}  			const Core * core; diff --git a/icespider/unittests/testApp.cpp b/icespider/unittests/testApp.cpp index 2a584a4..4e32ddd 100644 --- a/icespider/unittests/testApp.cpp +++ b/icespider/unittests/testApp.cpp @@ -358,7 +358,7 @@ BOOST_AUTO_TEST_CASE( testCallViewSomethingAcceptHtml )  	requestHtml.hdr["Accept"] = "text/html";  	process(&requestHtml);  	auto h = parseHeaders(requestHtml.output); -	BOOST_REQUIRE_EQUAL(h["Status"], "406 Unacceptable"); +	BOOST_REQUIRE_EQUAL(h["Status"], "406 Not Acceptable");  	requestHtml.output.get();  	BOOST_REQUIRE(requestHtml.output.eof());  } @@ -369,7 +369,7 @@ BOOST_AUTO_TEST_CASE( testCallIndexAcceptNotSupported )  	requestBadAccept.hdr["Accept"] = "not/supported";  	process(&requestBadAccept);  	auto h = parseHeaders(requestBadAccept.output); -	BOOST_REQUIRE_EQUAL(h["Status"], "406 Unacceptable"); +	BOOST_REQUIRE_EQUAL(h["Status"], "406 Not Acceptable");  	requestBadAccept.output.get();  	BOOST_REQUIRE(requestBadAccept.output.eof());  } | 
