The below error occurs if a Filter class is implemented. If the filter
class is removed, the api works properly.
Error Message-
org.eclipse.jetty.io.EofException: Closed at
org.eclipse.jetty.server.HttpOutput.checkWritable(HttpOutput.java:722)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:752)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:233)
~[na:na] at
java.base/sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:312)
~[na:na] at
java.base/sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:316)
~[na:na] at
java.base/sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:153) ~[na:na]
at java.base/java.io.OutputStreamWriter.flush(OutputStreamWriter.java:254)
~[na:na] at org.springframework.util.StreamUtils.copy(StreamUtils.java:147)
~[spring-core-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.http.converter.StringHttpMessageConverter.writeInternal(StringHttpMessageConverter.java:122)
~[spring-web-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.http.converter.StringHttpMessageConverter.writeInternal(StringHttpMessageConverter.java:44)
~[spring-web-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:227)
~[spring-web-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:290)
~[spring-webmvc-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:219)
~[spring-webmvc-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82)
~[spring-web-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123)
~[spring-webmvc-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)
~[spring-webmvc-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
~[spring-webmvc-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
~[spring-webmvc-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
~[spring-webmvc-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
~[spring-webmvc-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
~[spring-webmvc-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
~[spring-webmvc-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:503)
~[jakarta.servlet-api-4.0.3.jar!/:4.0.3] at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
~[spring-webmvc-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
~[jakarta.servlet-api-4.0.3.jar!/:4.0.3] at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763)
~[jetty-servlet-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631)
~[jetty-servlet-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226)
~[websocket-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
~[jetty-servlet-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
myapp.AuthFilter.doFilter(AuthFilter.java:62) ~[classes!/:na] at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
~[jetty-servlet-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
myapp.AuthFilter.doFilter(AuthFilter.java:62) ~[classes!/:na] at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
~[jetty-servlet-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
~[spring-web-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
~[spring-web-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
~[jetty-servlet-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
~[spring-web-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
~[spring-web-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
~[jetty-servlet-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
~[spring-web-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
~[spring-web-5.2.7.RELEASE.jar!/:5.2.7.RELEASE] at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
~[jetty-servlet-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549)
~[jetty-servlet-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)
~[jetty-security-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1369)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:489)
~[jetty-servlet-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1284)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.Server.handle(Server.java:501)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
~[jetty-server-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
~[jetty-io-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
~[jetty-io-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
~[jetty-io-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
~[jetty-util-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
~[jetty-util-9.4.29.v20200521.jar!/:9.4.29.v20200521] at
java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]"
Code-
Startup -
@ServletComponentScan
@SpringBootApplication
public class RestBoot {
public static void main(String[] args) {
SpringApplication.run(RestBoot.class, args);
}
}
Filter -
@WebFilter(urlPatterns = "/*")
@Configuration
public class AuthFilter implements Filter {
@Autowired
DataSource pool;
@Override
public void doFilter(ServletRequest req, ServletResponse servletResponse,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) servletResponse;
if (!request.isSecure()) {
response.sendError(HttpServletResponse.SC_FORBIDDEN, "Insecure
Request.");
}
if( request.getRequestURI().contains("trial")) {
chain.doFilter(request , response );
System.out.println("Done");
}
}
Controller -
@RestController
public class RestApiController {
@Autowired
private DataSource pool;
@GetMapping("/trial")
public ResponseEntity<String> hello() {
String abc1 = hello;
return new ResponseEntity<String>(abc1, HttpStatus.OK);
//return "Hello world! " + abc1;
}
}
Please advice what could be causing the issue.
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/google-appengine/fdbd1dd1-7b7a-4c43-8ecd-258d64d47044o%40googlegroups.com.