All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dpfmanager.shell.modules.client.upload.HttpClientHandler Maven / Gradle / Ivy

/**
 * 

HttpClientHandler.java

This program is free software: you can redistribute it * and/or modify it under the terms of the GNU General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any later version; or, * at your choice, under the terms of the Mozilla Public License, v. 2.0. SPDX GPL-3.0+ or MPL-2.0+. *

This program 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 General Public License and the Mozilla Public License for more details.

*

You should have received a copy of the GNU General Public License and the Mozilla Public * License along with this program. If not, see http://www.gnu.org/licenses/ * and at http://mozilla.org/MPL/2.0 .

NB: for the * © statement, include Easy Innova SL or other company/Person contributing the code.

© * 2015 Easy Innova, SL

* * @author Adrià Llorens * @version 1.0 * @since 23/7/2015 */ package dpfmanager.shell.modules.client.upload; import dpfmanager.shell.core.config.BasicConfig; import dpfmanager.shell.core.context.DpfContext; import dpfmanager.shell.modules.client.messages.ResponseMessage; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; import io.netty.handler.codec.http.HttpContent; import io.netty.handler.codec.http.HttpObject; import io.netty.handler.codec.http.LastHttpContent; import io.netty.util.CharsetUtil; import java.io.File; import java.util.List; /** * Handler that just dumps the contents of the response from the server */ public class HttpClientHandler extends SimpleChannelInboundHandler { private DpfContext context; private String message; private List deletes; public HttpClientHandler(DpfContext context, List deletes) { this.context = context; this.deletes = deletes; message = ""; } @Override public void channelRead0(ChannelHandlerContext ctx, HttpObject msg) { if (msg instanceof HttpContent) { HttpContent chunk = (HttpContent) msg; String content = chunk.content().toString(CharsetUtil.UTF_8); message = message + content; if (msg instanceof LastHttpContent) { // End response content for (File delete : deletes) { delete.delete(); } context.send(BasicConfig.MODULE_CLIENT, new ResponseMessage(message)); } } } @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) { cause.printStackTrace(); ctx.channel().close(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy