All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.adyen.httpclient.AdyenResponseHandler Maven / Gradle / Ivy

/*
 *                       ######
 *                       ######
 * ############    ####( ######  #####. ######  ############   ############
 * #############  #####( ######  #####. ######  #############  #############
 *        ######  #####( ######  #####. ######  #####  ######  #####  ######
 * ###### ######  #####( ######  #####. ######  #####  #####   #####  ######
 * ###### ######  #####( ######  #####. ######  #####          #####  ######
 * #############  #############  #############  #############  #####  ######
 *  ############   ############  #############   ############  #####  ######
 *                                      ######
 *                               #############
 *                               ############
 *
 * Adyen Java API Library
 *
 * Copyright (c) 2021 Adyen B.V.
 * This file is open source and available under the MIT license.
 * See the LICENSE file for more info.
 */
package com.adyen.httpclient;

import org.apache.hc.core5.http.ClassicHttpResponse;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.HttpEntity;
import org.apache.hc.core5.http.ParseException;
import org.apache.hc.core5.http.io.HttpClientResponseHandler;
import org.apache.hc.core5.http.io.entity.EntityUtils;

import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class AdyenResponseHandler implements HttpClientResponseHandler {

    @Override
    public AdyenResponse handleResponse(ClassicHttpResponse httpResponse) throws IOException, ParseException {
        AdyenResponse adyenResponse = new AdyenResponse();
        adyenResponse.setStatus(httpResponse.getCode());
        adyenResponse.setHeaders(getHeaders(httpResponse.getHeaders()));

        HttpEntity entity = httpResponse.getEntity();
        if (entity != null) {
            adyenResponse.setBody(EntityUtils.toString(entity));
        }
        return adyenResponse;
    }

    private Map> getHeaders(Header[] allHeaders) {
        Map> headers = new HashMap<>();
        for (Header header : allHeaders) {
            headers.put(header.getName(), Collections.singletonList(header.getValue()));
        }
        return headers;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy