lucee.commons.net.http.httpclient.entity.ByteArrayHttpEntity.java Source code

Java tutorial

Introduction

Here is the source code for lucee.commons.net.http.httpclient.entity.ByteArrayHttpEntity.java

Source

/**
 *
 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either 
 * version 2.1 of the License, or (at your option) any later version.
 * 
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public 
 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
 * 
 **/
package lucee.commons.net.http.httpclient.entity;

import lucee.commons.net.HTTPUtil;

import org.apache.http.Header;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.entity.ContentType;

public class ByteArrayHttpEntity extends ByteArrayEntity implements Entity4 {

    private ContentType ct;
    private int contentLength;

    public ByteArrayHttpEntity(byte[] barr, ContentType contentType) {
        super(barr);
        contentLength = barr == null ? 0 : barr.length;

        if (ct == null) {
            Header h = getContentType();
            if (h != null) {
                lucee.commons.lang.mimetype.ContentType tmp = HTTPUtil.toContentType(h.getValue(), null);
                if (tmp != null)
                    ct = ContentType.create(tmp.getMimeType(), tmp.getCharset());
            }
        } else
            this.ct = contentType;
    }

    @Override
    public long contentLength() {
        return contentLength;
    }

    @Override
    public String contentType() {
        return ct != null ? ct.toString() : null;
    }

}