コード例 #1
0
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);
}
コード例 #2
0
ファイル: sphivedbcli.cpp プロジェクト: aprovy/sphivedb
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, &params, &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;
}