Package com.elevenware.ladybird

Source Code of com.elevenware.ladybird.ObjectResponse

package com.elevenware.ladybird;

import com.elevenware.ladybird.entities.ContentHandler;
import com.elevenware.ladybird.entities.ContentHandlers;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.entity.ContentType;

public class ObjectResponse implements HttpResponse {
    private final CloseableHttpResponse response;
    private final String payload;
    private final ContentType originalAccept;

    public ObjectResponse(CloseableHttpResponse response, String payload, ContentType accept) {
        this.response = response;
        this.payload = payload;
        this.originalAccept = accept;
    }

    @Override
    public int statusCode() {
        return response.getStatusLine().getStatusCode();
    }

    @Override
    public <T> T getEntity() {
        return (T) payload;
    }

    @Override
    public <T> T getEntity(Class<T> clazz) {
        ContentType contentType = ContentType.parse(response.getEntity().getContentType().getValue());
        ContentHandler handler = ContentHandlers.getInstance().forType(contentType,originalAccept);
        return handler.unmarshal(payload, clazz);
    }
}
TOP

Related Classes of com.elevenware.ladybird.ObjectResponse

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.