import org.restlet.Application;
import org.restlet.Component;
import org.restlet.Context;
import org.restlet.Restlet;
import org.restlet.Server;
import org.restlet.data.Protocol;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;
import org.restlet.resource.Get;
import org.restlet.resource.ServerResource;
import org.restlet.routing.Router;
import org.restlet.util.Series;

import java.io.IOException;


public class TestSslServer extends Component {

    static public class App extends Application {        
        @Override
        public Restlet createInboundRoot(){
            Router router=new Router(getContext());
            router.attach("/", RootResource.class);
            return router;
        }
    };
    
    public static class RootResource extends ServerResource {
    	@Get
    	public Representation get() {
    		return new StringRepresentation("Hello world!");
    	}
    }

    public TestSslServer() {
        Server server = getServers().add(Protocol.HTTPS, 8081);
        Series parameters = server.getContext().getParameters();
        parameters.add("keystorePath", "/home/usr2/jkarp/.keystore");
        parameters.add("keystorePassword", "changeit");
        parameters.add("keyPassword", "changeit");
        getDefaultHost().attach(new App());
    }
 
    public static void main(String[] args) throws Exception
    {
        TestSslServer c = new TestSslServer();
        c.start(); 
    }
}
