org.eclipse.jetty.client.GZIPContentDecoder Maven / Gradle / Ivy
The newest version!
//
// ========================================================================
// Copyright (c) 1995-2019 Mort Bay Consulting Pty. Ltd.
// ------------------------------------------------------------------------
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// and Apache License v2.0 which accompanies this distribution.
//
// The Eclipse Public License is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// The Apache License v2.0 is available at
// http://www.opensource.org/licenses/apache2.0.php
//
// You may elect to redistribute this code under either of these licenses.
// ========================================================================
//
package org.eclipse.jetty.client;
import org.eclipse.jetty.io.ByteBufferPool;
/**
* {@link ContentDecoder} for the "gzip" encoding.
*/
public class GZIPContentDecoder extends org.eclipse.jetty.http.GZIPContentDecoder implements ContentDecoder
{
private static final int DEFAULT_BUFFER_SIZE = 2048;
public GZIPContentDecoder()
{
this(DEFAULT_BUFFER_SIZE);
}
public GZIPContentDecoder(int bufferSize)
{
this(null,bufferSize);
}
public GZIPContentDecoder(ByteBufferPool byteBufferPool, int bufferSize)
{
super(byteBufferPool, bufferSize);
}
/**
* Specialized {@link ContentDecoder.Factory} for the "gzip" encoding.
*/
public static class Factory extends ContentDecoder.Factory
{
private final int bufferSize;
private final ByteBufferPool byteBufferPool;
public Factory()
{
this(DEFAULT_BUFFER_SIZE);
}
public Factory(int bufferSize)
{
this(null, bufferSize);
}
public Factory(ByteBufferPool byteBufferPool)
{
this(byteBufferPool, DEFAULT_BUFFER_SIZE);
}
public Factory(ByteBufferPool byteBufferPool, int bufferSize)
{
super("gzip");
this.byteBufferPool = byteBufferPool;
this.bufferSize = bufferSize;
}
@Override
public ContentDecoder newContentDecoder()
{
return new GZIPContentDecoder(byteBufferPool, bufferSize);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy