parent
3558800ca5
commit
83b022808a
@ -0,0 +1,107 @@
|
|||||||
|
From 043561716b1c7c23c1576631c5bdca93e6e9ffe5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Tardon <dtardon@redhat.com>
|
||||||
|
Date: Fri, 5 Sep 2014 09:53:50 +0200
|
||||||
|
Subject: [PATCH] fix mismatching exceptions
|
||||||
|
|
||||||
|
---
|
||||||
|
src/libcmis/base-session.cxx | 56 +++++++++++++++++++++++++++++++++++---------
|
||||||
|
1 file changed, 45 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/libcmis/base-session.cxx b/src/libcmis/base-session.cxx
|
||||||
|
index 7f6a413..80c53e4 100644
|
||||||
|
--- a/src/libcmis/base-session.cxx
|
||||||
|
+++ b/src/libcmis/base-session.cxx
|
||||||
|
@@ -287,8 +287,15 @@ libcmis::HttpResponsePtr BaseSession::httpGetRequest( string url ) throw ( CurlE
|
||||||
|
// Need to use the refresh token to get a new one.
|
||||||
|
if ( getHttpStatus( ) == 401 && !getRefreshToken( ).empty( ) && !m_refreshedToken )
|
||||||
|
{
|
||||||
|
- // Refresh the token
|
||||||
|
- m_oauth2Handler->refresh( );
|
||||||
|
+ try
|
||||||
|
+ {
|
||||||
|
+ // Refresh the token
|
||||||
|
+ m_oauth2Handler->refresh( );
|
||||||
|
+ }
|
||||||
|
+ catch ( const libcmis::Exception& e )
|
||||||
|
+ {
|
||||||
|
+ throw CurlException( e.what() );
|
||||||
|
+ }
|
||||||
|
|
||||||
|
// Resend the query
|
||||||
|
try
|
||||||
|
@@ -370,8 +377,15 @@ libcmis::HttpResponsePtr BaseSession::httpPutRequest( string url, istream& is, v
|
||||||
|
if ( status == 401 && !getRefreshToken( ).empty( ) && !m_refreshedToken )
|
||||||
|
{
|
||||||
|
|
||||||
|
- // Refresh the token
|
||||||
|
- m_oauth2Handler->refresh( );
|
||||||
|
+ try
|
||||||
|
+ {
|
||||||
|
+ // Refresh the token
|
||||||
|
+ m_oauth2Handler->refresh( );
|
||||||
|
+ }
|
||||||
|
+ catch ( const libcmis::Exception& e )
|
||||||
|
+ {
|
||||||
|
+ throw CurlException( e.what() );
|
||||||
|
+ }
|
||||||
|
|
||||||
|
// Resend the query
|
||||||
|
try
|
||||||
|
@@ -457,8 +471,15 @@ libcmis::HttpResponsePtr BaseSession::httpPostRequest( const string& url, istrea
|
||||||
|
// Need to use the refresh token to get a new one.
|
||||||
|
if ( status == 401 && !getRefreshToken( ).empty( ) && !m_refreshedToken )
|
||||||
|
{
|
||||||
|
- // Refresh the token
|
||||||
|
- m_oauth2Handler->refresh( );
|
||||||
|
+ try
|
||||||
|
+ {
|
||||||
|
+ // Refresh the token
|
||||||
|
+ m_oauth2Handler->refresh( );
|
||||||
|
+ }
|
||||||
|
+ catch ( const libcmis::Exception& e )
|
||||||
|
+ {
|
||||||
|
+ throw CurlException( e.what() );
|
||||||
|
+ }
|
||||||
|
|
||||||
|
// Resend the query
|
||||||
|
try
|
||||||
|
@@ -501,9 +522,16 @@ void BaseSession::httpDeleteRequest( string url ) throw ( CurlException )
|
||||||
|
// Need to use the refresh token to get a new one.
|
||||||
|
if ( getHttpStatus( ) == 401 && !getRefreshToken( ).empty( ) && !m_refreshedToken )
|
||||||
|
{
|
||||||
|
-
|
||||||
|
- // Refresh the token
|
||||||
|
- m_oauth2Handler->refresh( );
|
||||||
|
+ try
|
||||||
|
+ {
|
||||||
|
+ // Refresh the token
|
||||||
|
+ m_oauth2Handler->refresh( );
|
||||||
|
+ }
|
||||||
|
+ catch ( const libcmis::Exception& e )
|
||||||
|
+ {
|
||||||
|
+ throw CurlException( e.what() );
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
// Resend the query
|
||||||
|
try
|
||||||
|
{
|
||||||
|
@@ -722,8 +750,14 @@ void BaseSession::setOAuth2Data( libcmis::OAuth2DataPtr oauth2 ) throw ( libcmis
|
||||||
|
|
||||||
|
// Try to get the authentication code using the given provider.
|
||||||
|
|
||||||
|
- authCode = m_oauth2Handler->oauth2Authenticate( );
|
||||||
|
-
|
||||||
|
+ try
|
||||||
|
+ {
|
||||||
|
+ authCode = m_oauth2Handler->oauth2Authenticate( );
|
||||||
|
+ }
|
||||||
|
+ catch ( const CurlException& e )
|
||||||
|
+ {
|
||||||
|
+ throw e.getCmisException( );
|
||||||
|
+ }
|
||||||
|
|
||||||
|
// If that didn't work, call the fallback provider from SessionFactory
|
||||||
|
try
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
Loading…
Reference in new issue