mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-07 00:38:46 +00:00
Explicitly close jag grab request channel if no resource is provided.
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package org.apollo.update;
|
package org.apollo.update;
|
||||||
|
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.buffer.Unpooled;
|
import io.netty.buffer.Unpooled;
|
||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import io.netty.channel.ChannelFutureListener;
|
import io.netty.channel.ChannelFutureListener;
|
||||||
@@ -39,7 +40,13 @@ public final class JagGrabRequestWorker extends RequestWorker<JagGrabRequest, Re
|
|||||||
@Override
|
@Override
|
||||||
protected void service(ResourceProvider provider, Channel channel, JagGrabRequest request) throws IOException {
|
protected void service(ResourceProvider provider, Channel channel, JagGrabRequest request) throws IOException {
|
||||||
Optional<ByteBuffer> buf = provider.get(request.getFilePath());
|
Optional<ByteBuffer> buf = provider.get(request.getFilePath());
|
||||||
buf.ifPresent(buffer -> channel.writeAndFlush(new JagGrabResponse(Unpooled.wrappedBuffer(buffer))).addListener(ChannelFutureListener.CLOSE));
|
|
||||||
|
if (buf.isPresent()) {
|
||||||
|
ByteBuf wrapped = Unpooled.wrappedBuffer(buf.get());
|
||||||
|
channel.writeAndFlush(new JagGrabResponse(wrapped)).addListener(ChannelFutureListener.CLOSE);
|
||||||
|
} else {
|
||||||
|
channel.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user