| | |
| | | import org.eclipse.jetty.server.ssl.SslConnector;
|
| | | import org.eclipse.jetty.server.ssl.SslSelectChannelConnector;
|
| | | import org.eclipse.jetty.server.ssl.SslSocketConnector;
|
| | | import org.eclipse.jetty.servlet.FilterMapping;
|
| | | import org.eclipse.jetty.servlet.ServletHolder;
|
| | | import org.eclipse.jetty.util.thread.QueuedThreadPool;
|
| | | import org.eclipse.jetty.webapp.WebAppContext;
|
| | | import org.eclipse.jgit.http.server.GitServlet;
|
| | | import org.slf4j.Logger;
|
| | | import org.slf4j.LoggerFactory;
|
| | |
|
| | |
| | | * Start Server.
|
| | | */
|
| | | private static void start(Params params) {
|
| | | FileSettings settings = params.FILESETTINGS;
|
| | | FileSettings settings = Params.FILESETTINGS;
|
| | |
|
| | | logger = LoggerFactory.getLogger(GitBlitServer.class);
|
| | | logger.info(Constants.BORDER);
|
| | |
| | | sessionManager.setSecureCookies(params.port <= 0 && params.securePort > 0);
|
| | | rootContext.getSessionHandler().setSessionManager(sessionManager);
|
| | |
|
| | | // JGit Filter and Servlet
|
| | | String jgitPathSpec = Constants.GIT_PATH + "*";
|
| | | rootContext.addFilter(GitFilter.class, jgitPathSpec, FilterMapping.DEFAULT);
|
| | | ServletHolder jGitServlet = rootContext.addServlet(GitServlet.class, jgitPathSpec);
|
| | | jGitServlet.setInitParameter("base-path", params.repositoriesFolder);
|
| | | jGitServlet.setInitParameter("export-all", "1");
|
| | |
|
| | | // Ensure there is a defined Login Service
|
| | | String realmUsers = params.realmFile;
|
| | | // Ensure there is a defined User Service
|
| | | String realmUsers = params.userService;
|
| | | if (StringUtils.isEmpty(realmUsers)) {
|
| | | logger.error(MessageFormat.format("PLEASE SPECIFY {0}!!", Keys.realm.realmFile));
|
| | | logger.error(MessageFormat.format("PLEASE SPECIFY {0}!!", Keys.realm.userService));
|
| | | return;
|
| | | }
|
| | | |
| | | // Update settings
|
| | | // settings.put(Keys.realm.realmFile, params.realmFile);
|
| | | // settings.put(Keys.git.repositoriesFolder, params.repositoriesFolder);
|
| | |
|
| | | // Override settings
|
| | | settings.overrideSetting(Keys.realm.userService, params.userService);
|
| | | settings.overrideSetting(Keys.git.repositoriesFolder, params.repositoriesFolder);
|
| | |
|
| | | // Set the server's contexts
|
| | | server.setHandler(rootContext);
|
| | |
| | | @Parameter(names = { "--stop" }, description = "Stop Server")
|
| | | public Boolean stop = false;
|
| | |
|
| | | @Parameter(names = { "--tempFolder" }, description = "Server temp folder")
|
| | | @Parameter(names = { "--tempFolder" }, description = "Folder for server to extract built-in webapp")
|
| | | public String temp = FILESETTINGS.getString(Keys.server.tempFolder, "temp");
|
| | |
|
| | | /*
|
| | |
| | | /*
|
| | | * Authentication Parameters
|
| | | */
|
| | | @Parameter(names = { "--realmFile" }, description = "Users Realm Hash File")
|
| | | public String realmFile = FILESETTINGS.getString(Keys.realm.realmFile, "users.properties");
|
| | | @Parameter(names = { "--userService" }, description = "Authentication and Authorization Service (filename or fully qualified classname)")
|
| | | public String userService = FILESETTINGS.getString(Keys.realm.userService, "users.properties");
|
| | |
|
| | | /*
|
| | | * JETTY Parameters
|