public class HelloGroovy implements NginxJavaRingHandler {
private static final String HOST_NAME = "{my proxy pass url to make the post}"
private String uri = "";
public Object[] invoke(Map<String, Object> request){
uri = (String) request.get("uri")
NginxJavaRequest r = (NginxJavaRequest) request
String enchancedJson = getEnchancedJson((InputStream) request.get("body"))
/**
* Important...
* Those are the same ?
* 1) r.put(NginxClojureRT.BODY, enchancedJson)
* 2) r.setVariable(NginxClojureRT.BODY, enchancedJson)
*/
r.put(NginxClojureRT.BODY, enchancedJson)
String url = HOST_NAME.concat(uri)
r.setVariable("mytarget", url)
return PHASE_DONE
}
def getEnchancedJson(InputStream input){
if (input != null) {
def jsonRequest = input.text
def slurper = new JsonSlurper()
def result = slurper.parseText(jsonRequest)
def builder = new JsonBuilder()
def root = builder.test{
id "1"
time new Timestamp(System.currentTimeMillis())
}
result.test = root.test
return new JsonBuilder(result).toPrettyString()
}
return null
}
}
Thanks in advance for the help.