public void StartAndWait() { try { StartEventListener(); Manager = new Manager(); _log.Submit(LogLevel.Info, "Starting Services"); Manager.Start(); _log.Submit(LogLevel.Info, "Services started. Waiting for stop signal"); StopResetEvent.WaitOne(); Manager.Stop(); } catch (Exception e) { _log.SubmitException(e); } Environment.Exit(0); }
public HttpResponseMessage Get(string id, string version) { Log.Submit(LogLevel.Debug, "GET request received"); HttpResponseMessage response = PackageDetails.BuildResponse(Request, id, version); Log.Submit(LogLevel.Debug, "GET response ready"); return(response); }
public HttpResponseMessage Get(string id, string version) { Log.Submit(LogLevel.Debug, "GET request received"); HttpResponseMessage response = DownloadPackage.Download(Request, id, version); Log.Submit(LogLevel.Debug, "GET response ready"); return(response); }
public HttpResponseMessage Get() { Log.Submit(LogLevel.Debug, "GET request received"); HttpResponseMessage response = WorkspaceRoot.GetWorkspace(Request); Log.Submit(LogLevel.Debug, "GET response ready"); return(response); }
public HttpResponseMessage Get() { Log.Submit(LogLevel.Debug, "GET request received"); HttpResponseMessage response = Metadata.GetMetadata(Request); Log.Submit(LogLevel.Debug, "GET response ready"); return(response); }
public static HttpResponseMessage Process(HttpRequestMessage request) { // Check if the request contains multipart/form-data. if (!request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } try { Stream reqStream = request.Content.ReadAsStreamAsync().Result; MemoryStream tempStream = new MemoryStream(); reqStream.CopyTo(tempStream); tempStream.Seek(0, SeekOrigin.End); Log.Submit(LogLevel.Debug, "Upload request has " + tempStream.Length + " bytes"); tempStream.Position = 0; StreamContent streamContent = new StreamContent(tempStream); foreach (KeyValuePair <string, IEnumerable <string> > header in request.Content.Headers) { streamContent.Headers.Add(header.Key, header.Value); Log.Submit(LogLevel.Debug, "Header " + header.Key + ": " + string.Join(",", header.Value)); } MultipartFormDataParser parser = new MultipartFormDataParser(tempStream); // This illustrates how to get the file names. FilePart file = parser.Files.FirstOrDefault(); if (parser.Files == null || parser.Files.Count != 1) { throw new InvalidOperationException(); } if (file == null || file.FileName != "package") { throw new InvalidOperationException(); } PackageDAO.ProcessPackage(file.Data); return(request.CreateResponse(HttpStatusCode.Created)); } catch (AlreadyExistsException e) { Log.SubmitException(e); return(request.CreateErrorResponse(HttpStatusCode.Conflict, e)); } catch (InvalidOperationException e) { Log.SubmitException(e); return(request.CreateErrorResponse(HttpStatusCode.BadRequest, e)); } catch (Exception e) { Log.SubmitException(e); return(request.CreateErrorResponse(HttpStatusCode.InternalServerError, e)); } }
public static void Start(int port, string apiKey) { ApiKey = apiKey; string baseAddress = "http://+:" + port + "/"; Log.Submit(LogLevel.Info, "Starting OWIN listener on " + baseAddress); Server = WebApp.Start <OwinHost>(baseAddress); }
public HttpResponseMessage Get() { Log.Submit(LogLevel.Debug, "GET request received"); Dictionary <string, string> queryParams = Request.GetQueryNameValuePairs() .ToDictionary(reqQueryParam => reqQueryParam.Key.ToLowerInvariant(), reqQueryParam => reqQueryParam.Value); Func <string, string> getParam = s => queryParams.ContainsKey(s) ? queryParams[s] : null; string filter = getParam("$filter"); string orderby = getParam("$orderby"); string searchTerm = getParam("searchTerm"); string targetFramework = getParam("targetFramework"); string includePrereleaseStr = getParam("includePrerelease"); string skipStr = getParam("$skip"); string stopStr = getParam("$stop"); bool desc = false; int skip; int stop; bool includePrerelase; if (orderby != null && orderby.Contains(" ")) { string[] orderBySplit = orderby.Split(' '); if (orderBySplit.Length != 2) { throw new BadRequestException(); } orderby = orderBySplit[0]; desc = orderBySplit[1] == "desc"; } int.TryParse(skipStr, out skip); int.TryParse(stopStr, out stop); bool.TryParse(includePrereleaseStr, out includePrerelase); filter = filter != null?filter.Trim(' ', '\'') : null; orderby = orderby != null?orderby.Trim(' ', '\'') : null; searchTerm = searchTerm != null?searchTerm.Trim(' ', '\'') : null; targetFramework = targetFramework != null?targetFramework.Trim(' ', '\'') : null; HttpResponseMessage response = Search.Invoke(Request, filter, orderby, desc, searchTerm, targetFramework, includePrerelase, skip, stop); Log.Submit(LogLevel.Debug, "GET response ready"); return(response); }
public Manager() { _log = LogFactory.Instance.GetLogger(GetType()); _log.Submit(LogLevel.Info, "Setting up configuration store"); ConfigurationStore = new Store(); _log.Submit(LogLevel.Info, "Configuration store setup finished"); _log.Submit(LogLevel.Info, "Setting up Data Manager"); DataManager = new DataManager(ConfigurationStore); _log.Submit(LogLevel.Info, "Data Manager setup finished"); }
private static void Main(string[] args) { LogFactory.ForceConsoleMode = true; _log = LogFactory.Instance.GetLogger(typeof(Startup)); if (args.Length >= 1 && args.Any(a => a == "-d")) { IConsole console = ConsoleFactory.GetConsole(); console.StartAndWait(); } else if (args.Length >= 1 && args.Any(a => a == "-s")) { IConsole console = ConsoleFactory.GetConsole(); console.Stop(); } else { Manager m; try { m = new Manager(); m.Start(); } catch (Exception e) { _log.Submit(LogLevel.Fatal, "An error occurred when starting server!"); _log.SubmitException(e); return; } _log.Submit(LogLevel.Info, new string('-', 70)); _log.Submit(LogLevel.Info, "Nugetory started! Press [ENTER] to stop..."); _log.Submit(LogLevel.Info, new string('-', 70)); System.Console.ReadLine(); m.Stop(); } }
public HttpResponseMessage Get() { Log.Submit(LogLevel.Debug, "GET request received"); Dictionary <string, string> queryParams = Request.GetQueryNameValuePairs() .ToDictionary(reqQueryParam => reqQueryParam.Key.ToLowerInvariant(), reqQueryParam => reqQueryParam.Value); Func <string, string> getParam = s => queryParams.ContainsKey(s) ? queryParams[s] : null; string filter = getParam("$filter"); string orderby = getParam("$orderby"); bool desc = false; string top = getParam("$top"); string id = getParam("id"); if (orderby != null && orderby.Contains(" ")) { string[] orderBySplit = orderby.Split(' '); if (orderBySplit.Length != 2) { throw new BadRequestException(); } orderby = orderBySplit[0]; desc = orderBySplit[1] == "desc"; } filter = filter != null?filter.Trim(' ', '\'') : null; orderby = orderby != null?orderby.Trim(' ', '\'') : null; top = top != null?top.Trim(' ', '\'') : null; id = id != null?id.Trim(' ', '\'') : null; HttpResponseMessage response = FindPackage.Find(Request, filter, orderby, desc, top, id); Log.Submit(LogLevel.Debug, "GET response ready"); return(response); }
public void Start() { _log.Submit(LogLevel.Info, "Initializing configuration store"); ConfigurationParser = Loader.Initialize(); if (ConfigurationParser != null) { ConfigurationFilename = ConfigurationParser.INIFilePath; _log.Submit(LogLevel.Info, "Using configuration file " + ConfigurationFilename); } LoggingLevel = new ConfigItemInt(ConfigurationParser, ConfigDefaults.LoggingLevel); ServerPort = new ConfigItemInt(ConfigurationParser, ConfigDefaults.ServerPort); ApiKey = new ConfigItemString(ConfigurationParser, ConfigDefaults.ApiKey); DatabaseFile = new ConfigItemString(ConfigurationParser, ConfigDefaults.DatabaseFile); DatabasePackagesDirectory = new ConfigItemString(ConfigurationParser, ConfigDefaults.DatabasePackagesDirectory); _log.Submit(LogLevel.Info, "Configuration store initialized"); }
public static ConfigurationParser Initialize() { Log.Submit(LogLevel.Info, "Initializing Configuration Manager"); string configurationFilename = GetConfigurationFilename(OSEnvironment.IsUnix); if (configurationFilename == null) { Log.Submit(LogLevel.Info, "No valid configuration file found!"); return(null); } ConfigurationParser cm = new ConfigurationParser(configurationFilename); Log.Submit(LogLevel.Info, "Configuration Manager initialized with configuration file " + configurationFilename); return(cm); }
public void Start() { _log.Submit(LogLevel.Info, "Starting configuration store"); ConfigurationStore.Start(); _log.Submit(LogLevel.Info, "Configuration store started "); _log.Submit(LogLevel.Info, "Starting Data Manager"); DataManager.Start(); _log.Submit(LogLevel.Info, "Data Manager started"); _log.Submit(LogLevel.Info, "Setting up environment"); // inject UploadPackage.PackageDAO = DataManager.PackageDAO; DownloadPackage.PackageDAO = DataManager.PackageDAO; DownloadPackage.FileStore = DataManager.FileStore; PackageDetails.PackageDAO = DataManager.PackageDAO; PackageDetails.FileStore = DataManager.FileStore; DeletePackage.PackageDAO = DataManager.PackageDAO; DeletePackage.FileStore = DataManager.FileStore; FindPackage.PackageDAO = DataManager.PackageDAO; Search.PackageDAO = DataManager.PackageDAO; _log.Submit(LogLevel.Info, "Environment setup finished"); _log.Submit(LogLevel.Info, "Starting Nuget server"); OwinHost.Start(ConfigurationStore.ServerPort.Value, ConfigurationStore.ApiKey.Value); _log.Submit(LogLevel.Info, "Nuget server started"); }