类javax.servlet.ReadListener源码实例Demo

下面列出了怎么用javax.servlet.ReadListener的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Tomcat8-Source-Read   文件: InputBuffer.java
public void setReadListener(ReadListener listener) {
    coyoteRequest.setReadListener(listener);

    // The container is responsible for the first call to
    // listener.onDataAvailable(). If isReady() returns true, the container
    // needs to call listener.onDataAvailable() from a new thread. If
    // isReady() returns false, the socket will be registered for read and
    // the container will call listener.onDataAvailable() once data arrives.
    // Must call isFinished() first as a call to isReady() if the request
    // has been finished will register the socket for read interest and that
    // is not required.
    if (!coyoteRequest.isFinished() && isReady()) {
        coyoteRequest.action(ActionCode.DISPATCH_READ, null);
        if (!ContainerThreadMarker.isContainerThread()) {
            // Not on a container thread so need to execute the dispatch
            coyoteRequest.action(ActionCode.DISPATCH_EXECUTE, null);
        }
    }
}
 
@Override
public final void setReadListener(ReadListener listener) {
    if (listener == null) {
        throw new IllegalArgumentException(
                sm.getString("upgrade.sis.readListener.null"));
    }
    if (this.listener != null) {
        throw new IllegalArgumentException(
                sm.getString("upgrade.sis.readListener.set"));
    }
    if (closed) {
        throw new IllegalStateException(sm.getString("upgrade.sis.read.closed"));
    }

    this.listener = listener;

    // Container is responsible for first call to onDataAvailable().
    if (ContainerThreadMarker.isContainerThread()) {
        processor.addDispatch(DispatchType.NON_BLOCKING_READ);
    } else {
        socketWrapper.registerReadInterest();
    }

    // Switching to non-blocking. Don't know if data is available.
    ready = null;
}
 
源代码3 项目: spring-cloud-gateway   文件: ProxyExchange.java
public ServletInputStream getInputStream() {
	ByteArrayInputStream body = new ByteArrayInputStream(
			builder.toString().getBytes());
	return new ServletInputStream() {

		@Override
		public int read() throws IOException {
			return body.read();
		}

		@Override
		public void setReadListener(ReadListener listener) {
		}

		@Override
		public boolean isReady() {
			return true;
		}

		@Override
		public boolean isFinished() {
			return body.available() <= 0;
		}
	};
}
 
源代码4 项目: auto-subtitle-tool   文件: RequestWrapper.java
@Override
public ServletInputStream getInputStream() throws IOException {
    final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(body.getBytes());
    ServletInputStream servletInputStream = new ServletInputStream() {
        @Override
        public boolean isFinished() {
            return false;
        }
        @Override
        public boolean isReady() {
            return false;
        }
        @Override
        public void setReadListener(ReadListener readListener) {
        }
        @Override
        public int read() throws IOException {
            return byteArrayInputStream.read();
        }
    };
    return servletInputStream;

}
 
源代码5 项目: spring-boot-vue-admin   文件: RequestWrapper.java
@Override
public ServletInputStream getInputStream() {
  final ByteArrayInputStream byteArrayInputStream =
      new ByteArrayInputStream(this.body.toString().getBytes());
  return new ServletInputStream() {
    @Override
    public int read() {
      return byteArrayInputStream.read();
    }

    @Override
    public boolean isFinished() {
      return false;
    }

    @Override
    public boolean isReady() {
      return false;
    }

    @Override
    public void setReadListener(final ReadListener readListener) {}
  };
}
 
@Override
public ServletInputStream getInputStream() throws IOException {
    final ByteArrayInputStream bais = new ByteArrayInputStream(body);
    return new ServletInputStream() {

        @Override
        public boolean isFinished() {
            return false;
        }

        @Override
        public boolean isReady() {
            return false;
        }

        @Override
        public void setReadListener(ReadListener listener) {

        }

        @Override
        public int read() throws IOException {
            return bais.read();
        }
    };
}
 
源代码7 项目: lucene-solr   文件: HttpSolrCallGetCoreTest.java
@Override
public ServletInputStream getInputStream() throws IOException {
  return new ServletInputStream() {
    @Override
    public boolean isFinished() {
      return true;
    }

    @Override
    public boolean isReady() {
      return true;
    }

    @Override
    public void setReadListener(ReadListener readListener) {

    }

    @Override
    public int read() throws IOException {
      return 0;
    }
  };
}
 
源代码8 项目: NFVO   文件: CustomHttpServletRequestWrapper.java
@Override
public ServletInputStream getInputStream() {
  final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(body.getBytes());
  return new ServletInputStream() {
    @Override
    public boolean isFinished() {
      return byteArrayInputStream.available() == 0;
    }

    @Override
    public boolean isReady() {
      return true;
    }

    @Override
    public void setReadListener(ReadListener listener) {
      throw new RuntimeException("Not implemented");
    }

    public int read() {
      return byteArrayInputStream.read();
    }
  };
}
 
源代码9 项目: ueboot   文件: RepeatedlyReadRequestWrapper.java
@Override
public ServletInputStream getInputStream() {
    final ByteArrayInputStream bais = new ByteArrayInputStream(body);
    return new ServletInputStream() {

        @Override
        public boolean isFinished() {
            return false;
        }

        @Override
        public boolean isReady() {
            return false;
        }

        @Override
        public void setReadListener(ReadListener listener) {

        }

        @Override
        public int read() {
            return bais.read();
        }
    };
}
 
源代码10 项目: spring-hmac-rest   文件: CachingRequestWrapper.java
@Override
public ServletInputStream getInputStream() throws IOException {
    final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(getPayload());
    return new ServletInputStream() {

        @Override
        public int read() throws IOException {
            return byteArrayInputStream.read();
        }

        @Override
        public boolean isFinished() {
            return false;
        }

        @Override
        public boolean isReady() {
            return true;
        }

        @Override
        public void setReadListener(ReadListener listener) {
            //
        }
    };
}
 
源代码11 项目: everrest   文件: MultipartTest.java
private ServletInputStream createServletInputStream(ByteArrayInputStream in) {
    return new ServletInputStream() {
            @Override
            public boolean isFinished() {
                return false;
            }

            @Override
            public boolean isReady() {
                return false;
            }

            @Override
            public void setReadListener(ReadListener readListener) {
            }

            @Override
            public int read() throws IOException {
                return in.read();
            }
        };
}
 
源代码12 项目: lams   文件: UpgradeServletInputStream.java
@Override
public void setReadListener(final ReadListener readListener) {
    if (readListener == null) {
        throw UndertowServletMessages.MESSAGES.listenerCannotBeNull();
    }
    if (listener != null) {
        throw UndertowServletMessages.MESSAGES.listenerAlreadySet();
    }

    listener = readListener;
    channel.getReadSetter().set(new ServletInputStreamChannelListener());

    //we resume from an async task, after the request has been dispatched
    ioExecutor.execute(new Runnable() {
        @Override
        public void run() {
            channel.wakeupReads();
        }
    });
}
 
源代码13 项目: wisp   文件: RequestWrapper.java
@Override
public ServletInputStream getInputStream() throws IOException {
    return new ServletInputStream() {
        @Override
        public boolean isFinished() {
            return false;
        }

        @Override
        public boolean isReady() {
            return false;
        }

        @Override
        public void setReadListener(ReadListener readListener) {

        }

        private TeeInputStream tee = new TeeInputStream(RequestWrapper.super.getInputStream(), bos);

        @Override
        public int read() throws IOException {
            return tee.read();
        }
    };
}
 
源代码14 项目: sample.daytrader7   文件: PingServlet31Async.java
/**
 * forwards post requests to the doGet method Creation date: (11/6/2000
 * 10:52:39 AM)
 *
 * @param res
 *            javax.servlet.http.HttpServletRequest
 * @param res2
 *            javax.servlet.http.HttpServletResponse
 */
@Override
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    res.setContentType("text/html");
            
    AsyncContext ac = req.startAsync();
       
    ServletInputStream input = req.getInputStream();
    ReadListener readListener = new ReadListenerImpl(input, res, ac);
    input.setReadListener(readListener);
}
 
@Override
public ServletInputStream getInputStream() throws IOException {

	final ByteArrayInputStream bais = new ByteArrayInputStream(body);

	return new ServletInputStream() {
		@Override
		public boolean isFinished() {
			return false;
		}

		@Override
		public boolean isReady() {
			return false;
		}

		@Override
		public void setReadListener(ReadListener listener) {

		}

		@Override
		public int read() throws IOException {
			return bais.read();
		}
	};
}
 
@Override
public ServletInputStream getInputStream() {
	return new DelegatingServletInputStream(new ByteArrayInputStream(new byte[0])) {
		@Override
		public void setReadListener(ReadListener readListener) {
			// Ignore
		}
	};
}
 
源代码17 项目: spring-boot-demo   文件: RequestWrapper.java
@Override
public ServletInputStream getInputStream() {

    final ByteArrayInputStream bais = new ByteArrayInputStream(body);
    return new ServletInputStream() {

        @Override
        public int read() {

            return bais.read();
        }

        @Override
        public boolean isFinished() {

            return false;
        }

        @Override
        public boolean isReady() {

            return false;
        }

        @Override
        public void setReadListener(ReadListener readListener) {

        }
    };
}
 
源代码18 项目: quarkus-http   文件: ServletInputStreamImpl.java
@Override
public void setReadListener(final ReadListener readListener) {
    if (readListener == null) {
        throw UndertowServletMessages.MESSAGES.listenerCannotBeNull();
    }
    if (listener != null) {
        throw UndertowServletMessages.MESSAGES.listenerAlreadySet();
    }
    if (!request.isAsyncStarted()) {
        throw UndertowServletMessages.MESSAGES.asyncNotStarted();
    }

    asyncContext = request.getAsyncContext();
    listener = readListener;
    internalListener = new ServletInputStreamChannelListener();

    //we resume from an async task, after the request has been dispatched
    asyncContext.addAsyncTask(new Runnable() {
        @Override
        public void run() {
            exchange.getIoThread().execute(new Runnable() {
                @Override
                public void run() {
                    internalListener.accept(exchange, exchange);
                }
            });
        }
    });
}
 
源代码19 项目: selenium   文件: FakeHttpServletRequest.java
public void setBody(final String data) {
  this.inputStream = new ServletInputStream() {
    private final ByteArrayInputStream delegate =
        new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8));

    @Override
    public void close() throws IOException {
      delegate.close();
    }

    @Override
    public int read() {
      return delegate.read();
    }

    @Override
    public boolean isFinished() {
      return false;
    }

    @Override
    public boolean isReady() {
      return true;
    }

    @Override
    public void setReadListener(ReadListener readListener) {
      throw new UnsupportedOperationException();
    }
  };
}
 
源代码20 项目: RuoYi-Vue   文件: RepeatedlyRequestWrapper.java
@Override
public ServletInputStream getInputStream() throws IOException
{

    final ByteArrayInputStream bais = new ByteArrayInputStream(body);

    return new ServletInputStream()
    {

        @Override
        public int read() throws IOException
        {
            return bais.read();
        }

        @Override
        public boolean isFinished()
        {
            return false;
        }

        @Override
        public boolean isReady()
        {
            return false;
        }

        @Override
        public void setReadListener(ReadListener readListener)
        {

        }
    };
}
 
源代码21 项目: selenium   文件: CrossDomainRpcLoaderTest.java
private HttpServletRequest createJsonRequest(
    String method,
    String path,
    Object data) throws IOException {
  when(mockRequest.getHeader("content-type")).thenReturn("application/json");

  Map<String, Object> payload = new TreeMap<>();
  payload.put("method", method);
  payload.put("path", path);
  payload.put("data", data);

  InputStream stream = new ByteArrayInputStream(new Json().toJson(payload).getBytes(UTF_8));
  when(mockRequest.getInputStream()).thenReturn(new ServletInputStream() {
    @Override
    public int read() throws IOException {
      return stream.read();
    }

    @Override
    public boolean isFinished() {
      return false;
    }

    @Override
    public boolean isReady() {
      return true;
    }

    @Override
    public void setReadListener(ReadListener readListener) {
      throw new UnsupportedOperationException();
    }
  });

  return mockRequest;
}
 
@Override
public ServletInputStream getInputStream() {
	return new DelegatingServletInputStream(new ByteArrayInputStream(new byte[0])) {
		@Override
		public void setReadListener(ReadListener readListener) {
			// Ignore
		}
	};
}
 
@Override
public void setReadListener(ReadListener readListener) {
    try {
        readListener.onDataAvailable();
    } catch (IOException ex){
        ex.printStackTrace();
    }
}
 
源代码24 项目: flow   文件: StreamReceiverHandlerTest.java
private ServletInputStream createInputStream(final String content) {
    return new ServletInputStream() {
        boolean finished = false;

        @Override
        public boolean isFinished() {
            return finished;
        }

        @Override
        public boolean isReady() {
            return true;
        }

        @Override
        public void setReadListener(ReadListener readListener) {

        }

        int counter = 0;
        byte[] msg = content.getBytes();

        @Override
        public int read() throws IOException {
            if (counter > msg.length + 1) {
                throw new AssertionError(
                        "-1 was ignored by StreamReceiverHandler.");
            }

            if (counter >= msg.length) {
                counter++;
                finished = true;
                return -1;
            }

            return msg[counter++];
        }
    };
}
 
源代码25 项目: DimpleBlog   文件: XssHttpServletRequestWrapper.java
@Override
public ServletInputStream getInputStream() throws IOException {
    // 非json类型,直接返回
    if (!isJsonRequest()) {
        return super.getInputStream();
    }

    // 为空,直接返回
    String json = IOUtils.toString(super.getInputStream(), StandardCharsets.UTF_8);
    if (StringUtils.isEmpty(json)) {
        return super.getInputStream();
    }

    // xss过滤
    json = EscapeUtil.clean(json).trim();
    final ByteArrayInputStream bis = new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8));
    return new ServletInputStream() {
        @Override
        public boolean isFinished() {
            return true;
        }

        @Override
        public boolean isReady() {
            return true;
        }

        @Override
        public void setReadListener(ReadListener readListener) {
        }

        @Override
        public int read() throws IOException {
            return bis.read();
        }
    };
}
 
源代码26 项目: blade-tool   文件: XssHttpServletRequestWrapper.java
@Override
public ServletInputStream getInputStream() throws IOException {
	if (null == super.getHeader(HttpHeaders.CONTENT_TYPE)) {
		return super.getInputStream();
	}

	if (super.getHeader(HttpHeaders.CONTENT_TYPE).startsWith(MediaType.MULTIPART_FORM_DATA_VALUE)) {
		return super.getInputStream();
	}

	final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(inputHandlers(super.getInputStream()).getBytes());

	return new ServletInputStream() {

		@Override
		public int read() {
			return byteArrayInputStream.read();
		}

		@Override
		public boolean isFinished() {
			return false;
		}

		@Override
		public boolean isReady() {
			return false;
		}

		@Override
		public void setReadListener(ReadListener readListener) {
		}
	};
}
 
源代码27 项目: sdb-mall   文件: XssHttpServletRequestWrapper.java
@Override
public ServletInputStream getInputStream() throws IOException {
    //非json类型,直接返回
    if(!MediaType.APPLICATION_JSON_VALUE.equalsIgnoreCase(super.getHeader(HttpHeaders.CONTENT_TYPE))){
        return super.getInputStream();
    }

    //为空,直接返回
    String json = IOUtils.toString(super.getInputStream(), "utf-8");
    if (StringUtils.isBlank(json)) {
        return super.getInputStream();
    }

    //xss过滤
    json = xssEncode(json);
    final ByteArrayInputStream bis = new ByteArrayInputStream(json.getBytes("utf-8"));
    return new ServletInputStream() {
        @Override
        public boolean isFinished() {
            return true;
        }

        @Override
        public boolean isReady() {
            return true;
        }

        @Override
        public void setReadListener(ReadListener readListener) {

        }

        @Override
        public int read() throws IOException {
            return bis.read();
        }
    };
}
 
源代码28 项目: swellrt   文件: AccountServiceTest.java
protected ServletInputStream asServletInputStream(final String data) {
  return new ServletInputStream() {

    ByteArrayInputStream byteInputStream =
        new ByteArrayInputStream(data.getBytes(Charset.forName("UTF-8")));

    int b;

    @Override
    public boolean isFinished() {
      return b == -1;
    }

    @Override
    public boolean isReady() {
      return true;
    }

    @Override
    public void setReadListener(ReadListener readListener) {
    }

    @Override
    public int read() throws IOException {
      this.b = byteInputStream.read();
      return b;
    }

  };
}
 
源代码29 项目: lams   文件: ServletInputStreamImpl.java
@Override
public void setReadListener(final ReadListener readListener) {
    if (readListener == null) {
        throw UndertowServletMessages.MESSAGES.listenerCannotBeNull();
    }
    if (listener != null) {
        throw UndertowServletMessages.MESSAGES.listenerAlreadySet();
    }
    if (!request.isAsyncStarted()) {
        throw UndertowServletMessages.MESSAGES.asyncNotStarted();
    }

    asyncContext = request.getAsyncContext();
    listener = readListener;
    channel.getReadSetter().set(internalListener = new ServletInputStreamChannelListener());

    //we resume from an async task, after the request has been dispatched
    asyncContext.addAsyncTask(new Runnable() {
        @Override
        public void run() {
            channel.getIoThread().execute(new Runnable() {
                @Override
                public void run() {
                    internalListener.handleEvent(channel);
                }
            });
        }
    });
}
 
源代码30 项目: pnc   文件: RequestUtils.java
public static HttpServletRequest requestWithEntity(Object entity) throws IOException {
    HttpServletRequest request = mock(HttpServletRequest.class);
    String entityAsJson = JsonUtils.toJson(entity);

    when(request.getInputStream()).thenReturn(new ServletInputStream() {

        private ByteArrayInputStream input = new ByteArrayInputStream(entityAsJson.getBytes("UTF-8"));

        @Override
        public boolean isFinished() {
            return input.available() == 0;
        }

        @Override
        public boolean isReady() {
            return input.available() > 0;
        }

        @Override
        public void setReadListener(ReadListener readListener) {

        }

        @Override
        public int read() throws IOException {
            return input.read();
        }
    });
    return request;
}
 
 类所在包
 类方法
 同包方法