mirror of
https://github.com/Xcreen/RestSMS.git
synced 2026-04-18 14:18:13 -04:00
90 lines
2.2 KiB
Java
90 lines
2.2 KiB
Java
package net.xcreen.restsms;
|
|
|
|
import android.util.Log;
|
|
|
|
import org.eclipse.jetty.server.Server;
|
|
import org.eclipse.jetty.servlet.ServletContextHandler;
|
|
import org.eclipse.jetty.servlet.ServletHandler;
|
|
import org.eclipse.jetty.servlet.ServletHolder;
|
|
|
|
import javax.servlet.MultipartConfigElement;
|
|
|
|
public class SMSServer {
|
|
|
|
private int port = 8081;
|
|
private Server jettyServer;
|
|
|
|
public void start(String tmpDir) throws Exception{
|
|
Log.i("SMS-Server", "Starting Server...");
|
|
|
|
//Setup Jetty
|
|
jettyServer = new Server(port);
|
|
|
|
//Sms-Servlet
|
|
ServletContextHandler servletContextHandler = new ServletContextHandler();
|
|
ServletHolder smsServletHolder = new ServletHolder(new SMSServlet());
|
|
smsServletHolder.getRegistration().setMultipartConfig(new MultipartConfigElement(tmpDir));
|
|
servletContextHandler.addServlet(smsServletHolder, "/send");
|
|
|
|
jettyServer.setHandler(servletContextHandler);
|
|
|
|
//Start Jetty
|
|
jettyServer.start();
|
|
jettyServer.join();
|
|
}
|
|
|
|
/**
|
|
* Stopping Jetty-Server
|
|
* @throws Exception - Jetty Exception
|
|
*/
|
|
public void stop() throws Exception{
|
|
if(jettyServer != null) {
|
|
Log.i("SMS-Server", "Stopping Server...");
|
|
jettyServer.stop();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Checks if the Jetty is running
|
|
* @return boolean - true when server is running/starting/stopping, false otherwise
|
|
*/
|
|
public boolean isRunning(){
|
|
if(jettyServer != null){
|
|
if(jettyServer.isRunning()){
|
|
return true;
|
|
}
|
|
else if(jettyServer.isStopping()){
|
|
return true;
|
|
}
|
|
else{
|
|
return false;
|
|
}
|
|
}
|
|
else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Checks if Jetty is stopping
|
|
* @return boolean - True when server is stopping
|
|
*/
|
|
public boolean isStopping(){
|
|
if(jettyServer != null) {
|
|
return jettyServer.isStopping();
|
|
}
|
|
else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Set Server-Port
|
|
* @param port - Server-Port
|
|
*/
|
|
public void setPort(int port){
|
|
this.port = port;
|
|
}
|
|
|
|
}
|