2323import org .apache .http .message .BasicNameValuePair ;
2424
2525import com .brightcove .castlabs .client .request .IngestKeysRequest ;
26- import com .brightcove .castlabs .client .response .IngestKeysResponse ;
26+ import com .brightcove .castlabs .client .response .IngestAssetsResponse ;
2727import com .fasterxml .jackson .databind .DeserializationFeature ;
2828import com .fasterxml .jackson .databind .ObjectMapper ;
2929
@@ -158,10 +158,12 @@ protected String getTicket(String merchantId) throws CastlabsException, IOExcept
158158ticketResponse =httpclient .execute (ticketRequest );
159159if (ticketResponse !=null ) {
160160final int statusCode =ticketResponse .getStatusLine ().getStatusCode ();
161- final String reason =ticketResponse .getStatusLine ().getReasonPhrase ();
162161if (200 !=statusCode ) {
162+ final String reason =ticketResponse .getStatusLine ().getReasonPhrase ();
163+ final String responseBody =
164+ IOUtils .toString (ticketResponse .getEntity ().getContent ());
163165throw new CastlabsException ("Ticket retrieval failed: Response code="
164- +statusCode +", Reason=" +reason );
166+ +statusCode +", Reason=" +reason + ", Body=" + responseBody );
165167 }
166168 }else {
167169throw new CastlabsException ("No response when retrieving Castlabs ticket" );
@@ -186,7 +188,7 @@ protected String getTicket(String merchantId) throws CastlabsException, IOExcept
186188 * @throws CastlabsException error reported by Castlabs
187189 * @throws IOException network error while communicating with Castlabs REST API
188190 */
189- public IngestKeysResponse ingestKeys (IngestKeysRequest request ,String merchantId )
191+ public IngestAssetsResponse ingestKeys (IngestKeysRequest request ,String merchantId )
190192throws CastlabsException ,IOException {
191193final String uri =this .ingestionBaseUrl +"frontend/api/keys/v2/ingest/" +merchantId
192194 +"?ticket=" +this .getTicket (merchantId );
@@ -195,7 +197,7 @@ public IngestKeysResponse ingestKeys(IngestKeysRequest request, String merchantI
195197ingestRequest .setHeader ("Accept" ,"application/json" );
196198
197199final CloseableHttpClient httpclient =HttpClients .createDefault ();
198- CloseableHttpResponse ticketResponse =null ;
200+ CloseableHttpResponse ingestResponse =null ;
199201try {
200202if (this .connectionTimeoutSeconds >0 ) {
201203int connectionTimeout =connectionTimeoutSeconds *1000 ;
@@ -206,18 +208,20 @@ public IngestKeysResponse ingestKeys(IngestKeysRequest request, String merchantI
206208ingestRequest .setConfig (requestConfig );
207209 }
208210ingestRequest .setEntity (new StringEntity (objectMapper .writeValueAsString (request )));
209- ticketResponse =httpclient .execute (ingestRequest );
210- if (ticketResponse !=null ) {
211- final int statusCode =ticketResponse .getStatusLine ().getStatusCode ();
212- final String reason =ticketResponse .getStatusLine ().getReasonPhrase ();
211+ ingestResponse =httpclient .execute (ingestRequest );
212+ if (ingestResponse !=null ) {
213+ final int statusCode =ingestResponse .getStatusLine ().getStatusCode ();
213214if (200 !=statusCode ) {
214- throw new CastlabsException (
215- "Ingest failed: Response code=" +statusCode +", Reason=" +reason );
215+ final String reason =ingestResponse .getStatusLine ().getReasonPhrase ();
216+ final String responseBody =
217+ IOUtils .toString (ingestResponse .getEntity ().getContent ());
218+ throw new CastlabsException ("Ingest failed: Response code=" +statusCode
219+ +", Reason=" +reason +", Body=" +responseBody );
216220 }
217- final HttpEntity responseEntity =ticketResponse .getEntity ();
221+ final HttpEntity responseEntity =ingestResponse .getEntity ();
218222if (responseEntity !=null ) {
219- final IngestKeysResponse getPadResponse =objectMapper
220- .readValue (responseEntity .getContent (),IngestKeysResponse .class );
223+ final IngestAssetsResponse getPadResponse =objectMapper
224+ .readValue (responseEntity .getContent (),IngestAssetsResponse .class );
221225return getPadResponse ;
222226 }else {
223227throw new CastlabsException ("Empty response entity from Castlabs" );
@@ -227,8 +231,8 @@ public IngestKeysResponse ingestKeys(IngestKeysRequest request, String merchantI
227231 }
228232 }finally {
229233try {
230- if (ticketResponse !=null )
231- ticketResponse .close ();
234+ if (ingestResponse !=null )
235+ ingestResponse .close ();
232236 }catch (IOException e ) {
233237// ignore
234238 }