# HG changeset patch # User xitiomet # Date 1327363806 18000 # Node ID 24bcde817c2994f0393cc77b9559ad72248ac7e8 # Parent 9e6ab8ab1d739ceff54c0991f19770c0a8bf126e merges diff -r 9e6ab8ab1d739ceff54c0991f19770c0a8bf126e -r 24bcde817c2994f0393cc77b9559ad72248ac7e8 src/org/openstatic/http/InteractiveResponseListener.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/openstatic/http/InteractiveResponseListener.java Mon Jan 23 19:10:06 2012 -0500 @@ -0,0 +1,6 @@ +package org.openstatic.http; + +public interface InteractiveResponseListener +{ + public void onData(String data); +} diff -r 9e6ab8ab1d739ceff54c0991f19770c0a8bf126e -r 24bcde817c2994f0393cc77b9559ad72248ac7e8 src/org/openstatic/smtp/PlaceboSmtpServer.java --- a/src/org/openstatic/smtp/PlaceboSmtpServer.java Mon Jan 23 14:39:34 2012 -0500 +++ b/src/org/openstatic/smtp/PlaceboSmtpServer.java Mon Jan 23 19:10:06 2012 -0500 @@ -19,12 +19,17 @@ import java.net.ServerSocket; import java.net.Socket; +import java.net.URL; +import java.net.HttpURLConnection; import java.util.concurrent.LinkedBlockingQueue; import java.util.Hashtable; import java.util.Date; import java.text.SimpleDateFormat; import java.io.PrintStream; import java.io.OutputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.OutputStreamWriter; import org.json.*; public class PlaceboSmtpServer extends Thread @@ -51,13 +56,48 @@ while(true) { SmtpMessage nm = smtp.getNextMessage(); - System.err.println(nm.toJSONObject().toString()); + try + { + apiCall(args[1], nm.toJSONObject().toString()); + } catch (Exception e) {} } } catch (Exception e) { System.err.println(e.toString() + "/" + e.getMessage()); e.printStackTrace(System.err); } } + + private static JSONObject apiCall(String url_string, String post_data) + { + try + { + URL url = new URL(url_string); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + if (post_data != null) + { + conn.setRequestMethod("POST"); + conn.setRequestProperty("Content-Type", "text/javascript"); + conn.setDoOutput(true); + OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); + wr.write(post_data); + wr.flush(); + wr.close(); + } + InputStream is = conn.getInputStream(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + int inputByte; + while ((inputByte = is.read()) > -1) + { + baos.write(inputByte); + } + is.close(); + String response = new String(baos.toByteArray()); + return new JSONObject(response); + } catch (Exception e) { + e.printStackTrace(System.err); + return null; + } + } public PlaceboSmtpServer(String domain) {