package wallettemplate;
import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URLEncodedUtils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.List;
public class PaymentProtocolServerSocket {
public static void init() {
new Thread(new Runnable() {
@Override
public void run() {
int portNumber = 15462;
try {
ServerSocket serverSocket = null;
serverSocket = new ServerSocket(portNumber);
while(true) {
try {
Socket clientSocket = serverSocket.accept();
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String request = in.readLine();
System.out.println("Payment Request received: " + request);
request = request.substring(8);
List<NameValuePair> params = URLEncodedUtils.parse(request, Charset.defaultCharset());
HashMap<String, String> list = new HashMap<String, String>();
for (NameValuePair param : params) {
System.out.println(param.getName() + " " + param.getValue());
list.put(param.getName(), param.getValue());
}
try {
// ThunderContext.instance.makePayment(Long.valueOf(list.get("amount")), list.get("address"));
} catch (Exception e) {
e.printStackTrace();
}
clientSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}