Skip to content

Instantly share code, notes, and snippets.

@brucenunk
brucenunk / HttpClientReadTimeoutSpec.groovy
Created November 25, 2016 18:35
Ratpack HttpClient StreamedResponse read timeout not propagating to user code so promise doesn't complete.
package jamesl
import groovy.util.logging.Slf4j
import io.netty.buffer.ByteBuf
import io.netty.buffer.ByteBufAllocator
import io.netty.buffer.UnpooledByteBufAllocator
import ratpack.groovy.test.embed.GroovyEmbeddedApp
import ratpack.http.client.HttpClient
import ratpack.http.client.HttpClientReadTimeoutException
import ratpack.test.CloseableApplicationUnderTest
@brucenunk
brucenunk / HttpClientSpec.groovy
Created November 5, 2016 16:11
ByteBuf leak from Ratpack HttpClient when connect fails.
package jamesl
import io.netty.buffer.ByteBufAllocator
import io.netty.buffer.PooledByteBufAllocator
import io.netty.util.ResourceLeakDetector
import io.netty.util.ResourceLeakDetectorFactory
import ratpack.http.client.HttpClient
import ratpack.test.exec.ExecHarness
import spock.lang.Specification
import spock.lang.Unroll
@brucenunk
brucenunk / RequestBodyLeakSpec.groovy
Created October 26, 2016 11:08
Ratpack leaking ByteBuf from calls to RequestSpec.Body#buffer(ByteBuffer).
package jamesl
import io.netty.buffer.ByteBufAllocator
import io.netty.buffer.PooledByteBufAllocator
import io.netty.util.ResourceLeakDetector
import io.netty.util.ResourceLeakDetectorFactory
import ratpack.form.Form
import ratpack.groovy.test.embed.GroovyEmbeddedApp
import ratpack.http.client.HttpClient
import ratpack.test.exec.ExecHarness
@brucenunk
brucenunk / ratpack.groovy
Created January 8, 2016 15:49
Not sure how to respond to exceptions thrown when streaming Ratpack responses via Publisher.
@Grab('io.ratpack:ratpack-groovy:1.1.1')
@Grab('org.slf4j:slf4j-simple:1.7.13')
import static ratpack.groovy.Groovy.ratpack
import static ratpack.http.ResponseChunks.*
import org.reactivestreams.Subscription
import ratpack.error.ServerErrorHandler
import ratpack.handling.Context