Package io.netty.buffer

Examples of io.netty.buffer.ByteBufInputStream


                buf.readBytes(b);
                return type.cast(new String(b, "UTF-8"));
            } else {
                ObjectMapper m = new ObjectMapper();
                try {
                    return m.readValue(new ByteBufInputStream(buf), type);
                } catch (JsonParseException | JsonMappingException ex) {
                    buf.resetReaderIndex();
                    String data = bufToString(buf);
                    throw new IOException(ex.getMessage() + " - data: " + data, ex);
                }
View Full Code Here


                    Object o = mapper.readValue(b, type);
                    _doReceive(status, headers, type.cast(o));
                } catch (JsonParseException ex) {
                    content.resetReaderIndex();
                    try {
                        String s = Streams.readString(new ByteBufInputStream(content), "UTF-8");
                        onErrorResponse(HttpResponseStatus.REQUESTED_RANGE_NOT_SATISFIABLE, headers, s);
                    } catch (IOException ex1) {
                        Exceptions.chuck(ex1);
                    }
                } catch (Exception ex) {
View Full Code Here

    private final ByteBufInputStream in;
    private final ByteBuf byteBuf;

    public NettyServletInputStream(HttpContent httpContent) {
        this.byteBuf = httpContent.content();
        this.in = new ByteBufInputStream(byteBuf);
    }
View Full Code Here

            return false;
        }

        @Override
        protected InputStream getInputStream() throws IOException {
            return new ByteBufInputStream(getHttpResponseContent().content());
        }
View Full Code Here

                    || packet.getSubType() == PacketType.DISCONNECT) {
                packet.setNsp(readString(frame));
            }

            if (packet.getSubType() == PacketType.ACK) {
                ByteBufInputStream in = new ByteBufInputStream(frame);
                AckCallback<?> callback = ackManager.getCallback(uuid, packet.getAckId());
                AckArgs args = jsonSupport.readAckArgs(in, callback);
                packet.setData(args.getArgs());
            }

            if (packet.getSubType() == PacketType.EVENT) {
                ByteBufInputStream in = new ByteBufInputStream(frame);
                Event event = jsonSupport.readValue(in, Event.class);
                packet.setName(event.getName());
                packet.setData(event.getArgs());
            }
        }
View Full Code Here

            }
            break;
        }

        case EVENT: {
            ByteBufInputStream in = new ByteBufInputStream(buffer);
            Event event = jsonSupport.readValue(in, Event.class);
            packet.setName(event.getName());
            if (event.getArgs() != null) {
                packet.setArgs(event.getArgs());
            }
            break;
        }

        case JSON: {
            ByteBufInputStream in = new ByteBufInputStream(buffer);
            JsonObject obj = jsonSupport.readValue(in, JsonObject.class);
            if (obj != null) {
                packet.setData(obj.getObject());
            } else {
                in.reset();
                Object object = jsonSupport.readValue(in, Object.class);
                packet.setData(object);
            }
            break;
        }

        case CONNECT: {
            if (buffer.isReadable()) {
                packet.setQs(buffer.toString(CharsetUtil.UTF_8));
            }
            break;
        }

        case ACK: {
            if (!buffer.isReadable()) {
                break;
            }
            boolean validFormat = true;
            int plusIndex = -1;
            for (int i = buffer.readerIndex(); i < buffer.readerIndex() + buffer.readableBytes(); i++) {
                byte dataChar = buffer.getByte(i);
                if (!Character.isDigit(dataChar)) {
                    if (dataChar == '+') {
                        plusIndex = i;
                        break;
                    } else {
                        validFormat = false;
                        break;
                    }
                }
            }
            if (!validFormat) {
                break;
            }

            if (plusIndex == -1) {
                packet.setAckId(parseLong(buffer));
                break;
            } else {
                packet.setAckId(parseLong(buffer, plusIndex));
                buffer.readerIndex(plusIndex+1);

                ByteBufInputStream in = new ByteBufInputStream(buffer);
                AckCallback<?> callback = ackManager.getCallback(uuid, packet.getAckId());
                AckArgs args = jsonSupport.readAckArgs(in, callback);
                packet.setArgs(args.getArgs());
            }
            break;
View Full Code Here

    PacketGuiWidget pkt = new PacketGuiWidget(windowId, widgets.indexOf(widget), data);
    BuildCraftCore.instance.sendToPlayer((EntityPlayer) player, pkt);
  }

  public void handleWidgetClientData(int widgetId, ByteBuf data) {
    InputStream input = new ByteBufInputStream (data);
    DataInputStream stream = new DataInputStream(input);

    try {
      widgets.get(widgetId).handleClientPacketData(stream);
    } catch (IOException e) {
View Full Code Here

        return this;
    }

    @Override
    public Http2Headers decodeHeaders(ByteBuf headerBlock) throws Http2Exception {
        InputStream in = new ByteBufInputStream(headerBlock);
        try {
            final Http2Headers headers = new DefaultHttp2Headers();
            HeaderListener listener = new HeaderListener() {
                @Override
                public void addHeader(byte[] key, byte[] value, boolean sensitive) {
                    headers.add(new AsciiString(key, false), new AsciiString(value, false));
                }
            };

            decoder.decode(in, listener);
            boolean truncated = decoder.endHeaderBlock();
            if (truncated) {
                // TODO: what's the right thing to do here?
            }

            if (headers.size() > headerTable.maxHeaderListSize()) {
                throw protocolError("Number of headers (%d) exceeds maxHeaderListSize (%d)",
                        headers.size(), headerTable.maxHeaderListSize());
            }

            return headers;
        } catch (IOException e) {
            throw new Http2Exception(COMPRESSION_ERROR, e.getMessage());
        } catch (Throwable e) {
            // Default handler for any other types of errors that may have occurred. For example,
            // the the Header builder throws IllegalArgumentException if the key or value was invalid
            // for any reason (e.g. the key was an invalid pseudo-header).
            throw new Http2Exception(Http2Error.PROTOCOL_ERROR, e.getMessage(), e);
        } finally {
            try {
                in.close();
            } catch (IOException e) {
                throw new Http2Exception(Http2Error.INTERNAL_ERROR, e.getMessage(), e);
            }
        }
    }
View Full Code Here

        byte[] uncompressed = new byte[data.length];
        int outOffset = 0;

        ByteBuf msg;
        while ((msg = channel.readOutbound()) != null) {
            InputStream is = new ByteBufInputStream(msg);
            LzmaInputStream lzmaIs = new LzmaInputStream(is, new Decoder());
            for (;;) {
                int read = lzmaIs.read(uncompressed, outOffset, data.length - outOffset);
                if (read > 0) {
                    outOffset += read;
                } else {
                    break;
                }
            }
            assertEquals(0, is.available());
            assertEquals(-1, is.read());

            is.close();
            lzmaIs.close();
            msg.release();
        }

        assertArrayEquals(data, uncompressed);
View Full Code Here

        while ((msg = channel.readOutbound()) != null) {
            out.addComponent(msg);
            out.writerIndex(out.writerIndex() + msg.readableBytes());
        }

        InputStream is = new ByteBufInputStream(out);
        LzmaInputStream lzmaIs = new LzmaInputStream(is, new Decoder());
        byte[] uncompressed = new byte[length];
        int remaining = length;
        while (remaining > 0) {
            int read = lzmaIs.read(uncompressed, length - remaining, remaining);
            if (read > 0) {
                remaining -= read;
            } else {
                break;
            }
        }

        assertEquals(0, is.available());
        assertEquals(-1, is.read());
        assertEquals(-1, lzmaIs.read());

        is.close();
        lzmaIs.close();
        out.release();

        return uncompressed;
    }
View Full Code Here

TOP

Related Classes of io.netty.buffer.ByteBufInputStream

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.