com.king.platform.net.http.netty.request.ByteArrayHttpBody Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of king-http-client Show documentation
Show all versions of king-http-client Show documentation
A asyncronous http client built ontop of netty.
// Copyright (C) king.com Ltd 2015
// https://github.com/king/king-http-client
// Author: Magnus Gustafsson
// License: Apache 2.0, https://raw.github.com/king/king-http-client/LICENSE-APACHE
package com.king.platform.net.http.netty.request;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelHandlerContext;
import java.nio.charset.Charset;
import java.util.Arrays;
public class ByteArrayHttpBody implements HttpBody {
private final byte[] content;
private final String contentType;
private final Charset characterEncoding;
public ByteArrayHttpBody(byte[] content, String contentType, Charset characterEncoding) {
this.content = Arrays.copyOf(content, content.length);
this.contentType = contentType;
this.characterEncoding = characterEncoding;
}
@Override
public ChannelFuture writeContent(ChannelHandlerContext ctx, boolean isSecure) {
ByteBuf byteBuf = ctx.alloc().buffer(content.length).writeBytes(content);
return ctx.write(byteBuf, ctx.newProgressivePromise());
}
@Override
public long getContentLength() {
return content.length;
}
@Override
public String getContentType() {
return contentType;
}
@Override
public Charset getCharacterEncoding() {
return characterEncoding;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy