Wasn't sure if this would work but it does
import com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate
import groovy.transform.BaseScript
import javax.ws.rs.core.MultivaluedMap
import javax.ws.rs.core.Response
import javax.ws.rs.core.CacheControl
import javax.ws.rs.core.StreamingOutput
import java.io.OutputStream
import java.io.BufferedWriter
import java.io.OutputStreamWriter
@BaseScript CustomEndpointDelegate delegate
streaming_test(httpMethod: "GET") {MultivaluedMap queryParams, String body ->
CacheControl cacheControl = new CacheControl()
cacheControl.setNoCache(true)
cacheControl.setMaxAge(-1)
cacheControl.setMustRevalidate(true)
return Response.ok().cacheControl(cacheControl).entity(new StreamingOutput() {
public void write(OutputStream outputStream) {
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream))
for(int i = 0;i<10;i++) {
writer.write("Test ${i}\n")
writer.flush()
sleep(1000)
}
writer.close()
}
}).build()
}
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.