omarkilani on 0.10.x
Update netty-codec-http, netty-… (compare)
omarkilani on 0.10.x
omarkilani on 0.11.x
omarkilani on 0.11.x
Update netty-codec-http, netty-… (compare)
omarkilani on main
Update netty-codec-http, netty-… (compare)
unfiltered-app[bot] on 0.10.x
Update netty-codec-http, netty-… (compare)
unfiltered-app[bot] on 0.11.x
Update netty-codec-http, netty-… (compare)
xuwei-k on main
remove dead link (compare)
xuwei-k on 0.10.x
transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollChannelOption.java
27: public static final ChannelOption<Boolean> SO_REUSEPORT = valueOf(EpollChannelOption.class, "SO_REUSEPORT")
def intent = {
case req @ POST(Path(Seg("credit" :: "charge" :: Nil))) => { ...}
object Seg {
def unapply(path: String): Option[List[String]] = path.split("/").toList match {
case "" :: rest => Some(rest) // skip a leading slash
case all => Some(all)
}
}
How is it possible to send List[String] to Seg ?
Feb 19, 2018 11:28:47 AM io.netty.channel.AbstractChannelHandlerContext invokeExceptionCaught
WARNING: An exception 'java.lang.IllegalStateException: HttpPostMultipartRequestDecoder was destroyed already' [enable DEBUG level for full stacktrace] was thrown by a user handler's exceptionCaught() method while handling the following exception:
java.lang.IllegalStateException: HttpPostMultipartRequestDecoder was destroyed already
at io.netty.handler.codec.http.multipart.HttpPostMultipartRequestDecoder.checkDestroyed(HttpPostMultipartRequestDecoder.java:210)
at io.netty.handler.codec.http.multipart.HttpPostMultipartRequestDecoder.cleanFiles(HttpPostMultipartRequestDecoder.java:956)
at io.netty.handler.codec.http.multipart.HttpPostRequestDecoder.cleanFiles(HttpPostRequestDecoder.java:252)
at unfiltered.netty.request.PostDecoder.$anonfun$cleanFiles$1(decoder.scala:57)
at unfiltered.netty.request.PostDecoder.$anonfun$cleanFiles$1$adapted(decoder.scala:57)
at scala.Option.map(Option.scala:146)
at unfiltered.netty.request.PostDecoder.cleanFiles(decoder.scala:57)
at unfiltered.netty.request.CleanUp.$anonfun$cleanFiles$3(decoder.scala:216)
at scala.Option.foreach(Option.scala:257)
at unfiltered.netty.request.CleanUp.$anonfun$cleanFiles$2(decoder.scala:216)
at unfiltered.netty.request.CleanUp.$anonfun$cleanFiles$2$adapted(decoder.scala:216)
at scala.Option.foreach(Option.scala:257)
at unfiltered.netty.request.CleanUp.cleanFiles(decoder.scala:216)
at unfiltered.netty.request.CleanUp.cleanFiles$(decoder.scala:215)
at unfiltered.netty.cycle.MultiPartPlanifier.cleanFiles(plans.scala:93)
at unfiltered.netty.cycle.MultiPartDecoder.channelInactive(plans.scala:85)
at unfiltered.netty.cycle.MultiPartDecoder.channelInactive$(plans.scala:84)
at unfiltered.netty.cycle.MultiPartPlanifier.channelInactive(plans.scala:93)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:417)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:377)
at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:342)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1409)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipe
case P("/e") & Expect(v) => ResponseString("pass")