diff options
| author | Xiaohong Bao <bao@lindenlab.com> | 2012-01-17 17:45:52 -0700 | 
|---|---|---|
| committer | Xiaohong Bao <bao@lindenlab.com> | 2012-01-17 17:45:52 -0700 | 
| commit | a6c638d882919b58186a6859644d61cdb5e45a7b (patch) | |
| tree | 0027ee1872e1d407f4e850c9da9248f4841e234c /indra/llmessage | |
| parent | 11bd5cb86025376a198e45330116de4757b5c89e (diff) | |
more exception handlings for llcurl fixes.
Diffstat (limited to 'indra/llmessage')
| -rw-r--r-- | indra/llmessage/llpumpio.h | 1 | ||||
| -rw-r--r-- | indra/llmessage/llsdrpcclient.h | 25 | 
2 files changed, 19 insertions, 7 deletions
| diff --git a/indra/llmessage/llpumpio.h b/indra/llmessage/llpumpio.h index e405124403..d2c5d37571 100644 --- a/indra/llmessage/llpumpio.h +++ b/indra/llmessage/llpumpio.h @@ -111,6 +111,7 @@ public:  	 * @param chain The pipes for the chain  	 * @param timeout The number of seconds in the future to  	 * expire. Pass in 0.0f to never expire. +	 * @param has_curl_request The chain contains LLURLRequest if true.  	 * @return Returns true if anything was added to the pump.  	 */  	bool addChain(const chain_t& chain, F32 timeout, bool has_curl_request = false); diff --git a/indra/llmessage/llsdrpcclient.h b/indra/llmessage/llsdrpcclient.h index 235077179e..0cecf4f688 100644 --- a/indra/llmessage/llsdrpcclient.h +++ b/indra/llmessage/llsdrpcclient.h @@ -239,12 +239,17 @@ public:  	LLSDRPCClientFactory(const std::string& fixed_url) : mURL(fixed_url) {}  	virtual bool build(LLPumpIO::chain_t& chain, LLSD context) const  	{ -		llerrs << "Can not call this." << llendl ; -  		lldebugs << "LLSDRPCClientFactory::build" << llendl; -		LLIOPipe::ptr_t service(new Client); -		chain.push_back(service);  		LLURLRequest* http(new LLURLRequest(LLURLRequest::HTTP_POST)); +		if(!http->isValid()) +		{ +			llwarns << "Creating LLURLRequest failed." << llendl ; +			delete http; +			return false; +		} + +		LLIOPipe::ptr_t service(new Client); +		chain.push_back(service);		  		LLIOPipe::ptr_t http_pipe(http);  		http->addHeader("Content-Type: text/llsd");  		if(mURL.empty()) @@ -284,11 +289,17 @@ public:  	LLXMLSDRPCClientFactory(const std::string& fixed_url) : mURL(fixed_url) {}  	virtual bool build(LLPumpIO::chain_t& chain, LLSD context) const  	{ -		llerrs << "who calls this?" << llendl ;  		lldebugs << "LLXMLSDRPCClientFactory::build" << llendl; -		LLIOPipe::ptr_t service(new Client); -		chain.push_back(service); +  		LLURLRequest* http(new LLURLRequest(LLURLRequest::HTTP_POST)); +		if(!http->isValid()) +		{ +			llwarns << "Creating LLURLRequest failed." << llendl ; +			delete http; +			return false ; +		} +		LLIOPipe::ptr_t service(new Client); +		chain.push_back(service);		  		LLIOPipe::ptr_t http_pipe(http);  		http->addHeader("Content-Type: text/xml");  		if(mURL.empty()) | 
