Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

FYI - Streaming Scriptrunner Rest Endpoint

Daniel Garcia June 4, 2018

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()
}

0 comments

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events