int CEclDirectSoapBindingEx::onGet(CHttpRequest* request, CHttpResponse* response) { const char *path = request->queryPath(); if (strieq(path, "/EclDirect/RunEclEx/Form")) return sendRunEclExForm(*request->queryContext(), request, response); if(strieq(path, "/EclDirect/RunEclEx/DisplayResult")) { IEspContext& context = *request->queryContext(); request->queryParameters()->setProp("display_xslt", 1); CRunEclExRequest reqObj(&context, "EclDirect", request->queryParameters(), request->queryAttachments()); CRunEclExResponse respObj("EclDirect"); theService->onRunEclEx(context, *QUERYINTERFACE(&reqObj, IEspRunEclExRequest), *QUERYINTERFACE(&respObj, IEspRunEclExResponse)); const char *result = respObj.getResults(); if (result && *result) { response->setContent(result); response->setContentType(runEclExFormatMimeType(reqObj.getFormat())); } else { response->setContent("No result in Ecl execution."); response->setContentType("text/html"); } response->setStatus(HTTP_STATUS_OK); response->send(); return 0; } return CEclDirectSoapBinding::onGet(request,response); }
int SP_HiveDBProtocol :: removeJson( int dbfile, const char * user, const char * dbname, int * result ) { SP_JsonArrayNode params; { SP_JsonObjectNode * args = new SP_JsonObjectNode(); makeArgs( args, dbfile, user, dbname ); params.addValue( args ); } SP_JsonStringBuffer buffer; SP_JsonRpcUtils::toReqBuffer( "remove", user, ¶ms, &buffer ); SP_NKHttpResponse httpResp; int ret = clientCall( mSocket, "/sphivedb", mIsKeepAlive, buffer.getBuffer(), buffer.getSize(), &httpResp ); if( 0 == ret ) { SP_JsonRpcRespObject respObj( (char*)httpResp.getContent(), httpResp.getContentLength() ); SP_JsonHandle handle( respObj.getResult() ); SP_JsonIntNode * resultNode = handle.toInt(); *result = ( NULL != resultNode ) ? resultNode->getValue() : -1; } return ret; }