package de.skuzzle.polly.core.internal.httpv2; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import de.skuzzle.polly.http.api.HttpEvent; import de.skuzzle.polly.http.api.answers.HttpAnswer; import de.skuzzle.polly.http.api.answers.HttpAnswerHandler; import de.skuzzle.polly.sdk.httpv2.GsonHttpAnswer; public class GsonHttpAnswerHandler extends HttpAnswerHandler { @Override public void handleAnswer(HttpAnswer answer, HttpEvent e, OutputStream out) throws IOException { try { final GsonHttpAnswer gsonAnswer = (GsonHttpAnswer) answer; final Gson gson = new GsonBuilder().setPrettyPrinting().create(); // TODO: hardcoded reference to encoding final Writer w = new OutputStreamWriter( new BufferedOutputStream(out), "UTF-8"); //$NON-NLS-1$ w.write(gson.toJson(gsonAnswer.getValue())); w.flush(); } catch (Exception e1) { e1.printStackTrace(); throw e1; } } }