org.jboss.resteasy.util.NoContent Maven / Gradle / Ivy
The newest version!
package org.jboss.resteasy.util;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.NoContentException;
import org.jboss.resteasy.resteasy_jaxrs.i18n.Messages;
import java.io.InputStream;
/**
* @author Bill Burke
* @version $Revision: 1 $
*/
public class NoContent
{
public static InputStream noContentCheck( MultivaluedMap httpHeaders, InputStream is) throws NoContentException
{
contentLengthCheck(httpHeaders);
NoContentInputStreamDelegate delegate = new NoContentInputStreamDelegate(is);
return delegate;
}
public static boolean isContentLengthZero(MultivaluedMap httpHeaders)
{
if (httpHeaders == null) return false;
@SuppressWarnings(value = "unchecked")
String contentLength = (String)httpHeaders.getFirst(HttpHeaders.CONTENT_LENGTH);
if (contentLength != null)
{
long length = Long.parseLong(contentLength);
if (length == 0) return true;
}
return false;
}
public static void contentLengthCheck(MultivaluedMap httpHeaders) throws NoContentException
{
if (isContentLengthZero(httpHeaders)) throw new NoContentException(Messages.MESSAGES.noContentContentLength0());
}
}