mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 13:10:44 +00:00
Merge branch 'feature/api-request-updates' into integration
This commit is contained in:
@ -25,7 +25,8 @@
|
|||||||
<Logger name="com.mchange.v2" level="INFO" />
|
<Logger name="com.mchange.v2" level="INFO" />
|
||||||
<Logger name="org.quartz" level="INFO" />
|
<Logger name="org.quartz" level="INFO" />
|
||||||
<Logger name="liquibase" level="INFO" />
|
<Logger name="liquibase" level="INFO" />
|
||||||
<Root level="all">
|
<Logger name="com.amazonaws" level="INFO" />
|
||||||
|
<Root level="All">
|
||||||
<AppenderRef ref="SystemOutAppender"/>
|
<AppenderRef ref="SystemOutAppender"/>
|
||||||
<AppenderRef ref="SyslogAppender"/>
|
<AppenderRef ref="SyslogAppender"/>
|
||||||
<!-- <AppenderRef ref="LogFileAppender"/> -->
|
<!-- <AppenderRef ref="LogFileAppender"/> -->
|
||||||
|
@ -743,6 +743,10 @@ public class BaseAPIActionUtil
|
|||||||
case OAUTH2 -> request.setHeader("Authorization", "Bearer " + getOAuth2Token());
|
case OAUTH2 -> request.setHeader("Authorization", "Bearer " + getOAuth2Token());
|
||||||
case API_KEY_QUERY_PARAM -> addApiKeyQueryParamToRequest(request);
|
case API_KEY_QUERY_PARAM -> addApiKeyQueryParamToRequest(request);
|
||||||
case CUSTOM -> handleCustomAuthorization(request);
|
case CUSTOM -> handleCustomAuthorization(request);
|
||||||
|
case NONE ->
|
||||||
|
{
|
||||||
|
/* nothing to do here */
|
||||||
|
}
|
||||||
default -> throw new IllegalArgumentException("Unexpected authorization type: " + backendMetaData.getAuthorizationType());
|
default -> throw new IllegalArgumentException("Unexpected authorization type: " + backendMetaData.getAuthorizationType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1174,6 +1178,16 @@ public class BaseAPIActionUtil
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
protected QHttpResponse getQHttpResponse(HttpResponse response) throws Exception
|
||||||
|
{
|
||||||
|
return (new QHttpResponse(response));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
**
|
**
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
@ -1207,7 +1221,7 @@ public class BaseAPIActionUtil
|
|||||||
|
|
||||||
try(CloseableHttpResponse response = executeHttpRequest(request, httpClient))
|
try(CloseableHttpResponse response = executeHttpRequest(request, httpClient))
|
||||||
{
|
{
|
||||||
QHttpResponse qResponse = new QHttpResponse(response);
|
QHttpResponse qResponse = getQHttpResponse(response);
|
||||||
|
|
||||||
logOutboundApiCall(request, qResponse);
|
logOutboundApiCall(request, qResponse);
|
||||||
|
|
||||||
|
@ -40,6 +40,7 @@ public class QHttpResponse
|
|||||||
private String statusReasonPhrase;
|
private String statusReasonPhrase;
|
||||||
private List<Header> headerList;
|
private List<Header> headerList;
|
||||||
private String content;
|
private String content;
|
||||||
|
private byte[] contentBytes;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -53,11 +54,50 @@ public class QHttpResponse
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Constructor for QHttpResponse that allows reading content as bytes
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
public QHttpResponse(HttpResponse httpResponse, boolean readContentAsBytes) throws Exception
|
||||||
|
{
|
||||||
|
setGeneralHttpResponseData(httpResponse);
|
||||||
|
|
||||||
|
if(this.statusCode == null || this.statusCode != 204)
|
||||||
|
{
|
||||||
|
if(readContentAsBytes)
|
||||||
|
{
|
||||||
|
this.contentBytes = httpResponse.getEntity().getContent().readAllBytes();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.content = EntityUtils.toString(httpResponse.getEntity());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
** Constructor for qHttpResponse
|
** Constructor for qHttpResponse
|
||||||
**
|
**
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
public QHttpResponse(HttpResponse httpResponse) throws Exception
|
public QHttpResponse(HttpResponse httpResponse) throws Exception
|
||||||
|
{
|
||||||
|
setGeneralHttpResponseData(httpResponse);
|
||||||
|
|
||||||
|
if(this.statusCode == null || this.statusCode != 204)
|
||||||
|
{
|
||||||
|
this.content = EntityUtils.toString(httpResponse.getEntity());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Sets data into this entity from an HttpResponse but doesnt read response data
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
private void setGeneralHttpResponseData(HttpResponse httpResponse) throws Exception
|
||||||
{
|
{
|
||||||
this.headerList = Arrays.asList(httpResponse.getAllHeaders());
|
this.headerList = Arrays.asList(httpResponse.getAllHeaders());
|
||||||
if(httpResponse.getStatusLine() != null)
|
if(httpResponse.getStatusLine() != null)
|
||||||
@ -69,11 +109,6 @@ public class QHttpResponse
|
|||||||
this.statusProtocolVersion = httpResponse.getStatusLine().getProtocolVersion().toString();
|
this.statusProtocolVersion = httpResponse.getStatusLine().getProtocolVersion().toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.statusCode == null || this.statusCode != 204)
|
|
||||||
{
|
|
||||||
this.content = EntityUtils.toString(httpResponse.getEntity());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -242,4 +277,35 @@ public class QHttpResponse
|
|||||||
return (this);
|
return (this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Getter for contentBytes
|
||||||
|
*******************************************************************************/
|
||||||
|
public byte[] getContentBytes()
|
||||||
|
{
|
||||||
|
return (this.contentBytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Setter for contentBytes
|
||||||
|
*******************************************************************************/
|
||||||
|
public void setContentBytes(byte[] contentBytes)
|
||||||
|
{
|
||||||
|
this.contentBytes = contentBytes;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Fluent setter for contentBytes
|
||||||
|
*******************************************************************************/
|
||||||
|
public QHttpResponse withContentBytes(byte[] contentBytes)
|
||||||
|
{
|
||||||
|
this.contentBytes = contentBytes;
|
||||||
|
return (this);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -33,5 +33,6 @@ public enum AuthorizationType
|
|||||||
BASIC_AUTH_USERNAME_PASSWORD,
|
BASIC_AUTH_USERNAME_PASSWORD,
|
||||||
CUSTOM,
|
CUSTOM,
|
||||||
OAUTH2,
|
OAUTH2,
|
||||||
|
NONE,
|
||||||
API_KEY_QUERY_PARAM,
|
API_KEY_QUERY_PARAM,
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user