public static ConsumedMessage createConsumedMessage(ClientMessage message, ConnectionFactoryOptions options) { Boolean aBoolean = message.getBooleanProperty(POSTED_AS_HTTP_MESSAGE); if (aBoolean != null && aBoolean.booleanValue()) { return new ConsumedHttpMessage(message); } else if (message.getType() == Message.OBJECT_TYPE) { return new ConsumedObjectMessage(message, options); } else { throw new IllegalArgumentException("ClientMessage must be an HTTP message or an Object message: " + message + " type: " + message.getType()); } } }
@Override public void build(Response.ResponseBuilder builder) { buildHeaders(builder); if (readObject == null) { int size = message.getBodyBuffer().readInt(); if (size > 0) { byte[] body = new byte[size]; message.getBodyBuffer().readBytes(body); ByteArrayInputStream bais = new ByteArrayInputStream(body); try (ObjectInputStreamWithClassLoader ois = new ObjectInputStreamWithClassLoader(bais)) { if (options != null) { ois.setWhiteList(options.getDeserializationWhiteList()); ois.setBlackList(options.getDeserializationBlackList()); } readObject = ois.readObject(); } catch (Exception e) { throw new RuntimeException(e); } } } builder.entity(readObject); } }
@Override public void build(Response.ResponseBuilder builder) { buildHeaders(builder); if (readObject == null) { int size = message.getBodyBuffer().readInt(); if (size > 0) { byte[] body = new byte[size]; message.getBodyBuffer().readBytes(body); ByteArrayInputStream bais = new ByteArrayInputStream(body); try (ObjectInputStreamWithClassLoader ois = new ObjectInputStreamWithClassLoader(bais)) { if (options != null) { ois.setWhiteList(options.getDeserializationWhiteList()); ois.setBlackList(options.getDeserializationBlackList()); } readObject = ois.readObject(); } catch (Exception e) { throw new RuntimeException(e); } } } builder.entity(readObject); } }
public static ConsumedMessage createConsumedMessage(ClientMessage message, ConnectionFactoryOptions options) { Boolean aBoolean = message.getBooleanProperty(POSTED_AS_HTTP_MESSAGE); if (aBoolean != null && aBoolean.booleanValue()) { return new ConsumedHttpMessage(message); } else if (message.getType() == Message.OBJECT_TYPE) { return new ConsumedObjectMessage(message, options); } else { throw new IllegalArgumentException("ClientMessage must be an HTTP message or an Object message: " + message + " type: " + message.getType()); } } }