From ad7450d4c430e4936969e8e29b0738db9ffeea29 Mon Sep 17 00:00:00 2001 From: omkar Date: Wed, 7 Jan 2015 14:38:14 -0800 Subject: [PATCH] Adding OK Response Code for POST Earlier, we were setting response code for POST only if a new resource is created assuming that the value is by default OK. TE tests showed error on using different version of Ubuntu. Modified simpleserver to explicitly add OK status. Added constructors to OCResourceRequest and OCResourceResponse classes to avoid undefined behavior. This Fixes IOT-128. Change-Id: I13faff2fb254c777ccc8c8979824d53f5111ab3e Signed-off-by: omkar --- resource/examples/simpleserver.cpp | 4 ++++ resource/include/OCResourceRequest.h | 13 +++++++++++++ resource/include/OCResourceResponse.h | 13 +++++++++++-- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/resource/examples/simpleserver.cpp b/resource/examples/simpleserver.cpp index 86b1546..a4146c6 100644 --- a/resource/examples/simpleserver.cpp +++ b/resource/examples/simpleserver.cpp @@ -325,6 +325,10 @@ OCEntityHandlerResult entityHandler(std::shared_ptr request) pResponse->setResponseResult(OC_EH_RESOURCE_CREATED); pResponse->setNewResourceUri(rep_post.getValue("createduri")); } + else + { + pResponse->setResponseResult(OC_EH_OK); + } if(OC_STACK_OK == OCPlatform::sendResponse(pResponse)) { diff --git a/resource/include/OCResourceRequest.h b/resource/include/OCResourceRequest.h index 101f6fb..4ec5645 100644 --- a/resource/include/OCResourceRequest.h +++ b/resource/include/OCResourceRequest.h @@ -44,6 +44,19 @@ namespace OC public: typedef std::shared_ptr Ptr; + OCResourceRequest(): + m_requestType{}, + m_resourceUri{}, + m_queryParameters{}, + m_requestHandlerFlag{}, + m_representation{}, + m_observationInfo{}, + m_headerOptions{}, + m_requestHandle{nullptr}, + m_resourceHandle{nullptr} + { + } + /** * Virtual destructor */ diff --git a/resource/include/OCResourceResponse.h b/resource/include/OCResourceResponse.h index 1c8e3fa..7671019 100644 --- a/resource/include/OCResourceResponse.h +++ b/resource/include/OCResourceResponse.h @@ -45,8 +45,17 @@ namespace OC public: typedef std::shared_ptr Ptr; - OCResourceResponse() - {} + OCResourceResponse(): + m_newResourceUri{}, + m_errorCode{}, + m_headerOptions{}, + m_interface{}, + m_representation{}, + m_requestHandle{nullptr}, + m_resourceHandle{nullptr}, + m_responseResult{} + { + } virtual ~OCResourceResponse(void) {} -- 2.7.4