public override void Execute(ServerContext context) { try { if (context.UserModel.Emails.ContainsKey(_email)) { UserParams["error"] = true; UserParams["error_text"] = "Email exist"; } else { var user = new UserUnitModel(_email, _password, _login, 0, "user", 2); user.IsNew = true; context.UserModel.Add(user); ServerLoggerModel.Log(TypeLog.UserMessage, $"user {_login} registered"); } } catch (Exception e) { Console.WriteLine(e); throw; } Send(); }
public override void Deserialize(SqlDataReader dataReader) { var track = new TrackUnitModel(dataReader); if (!_tracksAll.ContainsKey(track.TrackName)) { _tracksAll.Add(track.TrackName, track); } if (track.RightsStatus == "FREE") { for (var i = 0; i < 50; i++) { if (!_tracksFree.ContainsKey(track.TrackName)) { _tracksFree.Add(track.TrackName, track); } } } if (track.RightsStatus == "DMCA") { for (var i = 0; i < 150; i++) { if (!TracksLicensed.ContainsKey(track.TrackName)) { TracksLicensed.Add(track.TrackName, track); } } } ServerLoggerModel.Log(TypeLog.Info, "track deserialize was completed"); }
protected ExecuteHandler(IFormCollection data, HttpResponse response, HttpRequest request) { Request = request; Response = response; Response.OnStarting(() => { #if DEBUG Response.Headers.Add("Host", "http://localhost:3000"); #endif #if DEVELOP Response.Headers.Add("Host", "80.78.244.78"); #endif Response.Headers.Add("Access-Control-Allow-Origin", "25.57.84.220:8000"); Response.Headers.Add("Large-Allocation", "0"); Response.Headers.Add("Content-Range", "bytes */*"); Response.Headers.Add("Content-Encoding", "gzip"); Response.Headers.Add("Access-Control-Allow-Credentials", "true"); Response.Headers.Add("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With, Accept"); Response.Headers.Add("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS"); Response.Headers.Add("X-Requested-With", "XMLHttpRequest"); Response.Headers.Add("Accept", "*/*"); Response.Headers.Add("Retry-After", "4"); return(Task.FromResult(0)); }); Response.StatusCode = 200; ServerLoggerModel.Log(TypeLog.Info, $"{NameCommand}: {Response.HttpContext.Connection.RemoteIpAddress}:{Response.HttpContext.Connection.RemotePort}\r"); }
protected ExecuteCommand(IFormCollection data, HttpContext httpContext, string nameCommand) { _httpContext = httpContext; NameCommand = nameCommand; Request = httpContext.Request; Response = httpContext.Response; UserParams.Add("error", false); UserParams.Add("error_text", string.Empty); _httpContext.Response.OnStarting(() => { _httpContext.Response.Headers.Add("Host", "http://93.95.97.122:8000"); _httpContext.Response.Headers.Add("Access-Control-Allow-Origin", "*"); _httpContext.Response.Headers.Add("Large-Allocation", "0"); _httpContext.Response.Headers.Add("Content-Range", "bytes */*"); _httpContext.Response.Headers.Add("Access-Control-Allow-Credentials", "true"); _httpContext.Response.Headers.Add("Access-Control-Allow-Headers", "Origin, X-Access-Token, X-Application-Name, X-Request-Sent-Time, X-Requested-With, Content-Type, Authorization, Accept"); _httpContext.Response.Headers.Add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); _httpContext.Response.Headers.Add("X-Requested-With", "XMLHttpRequest"); _httpContext.Response.Headers.Add("Accept", "*/*"); _httpContext.Response.Headers.Add("Retry-After", "4"); _httpContext.Response.Headers.Add("Cross-Origin-Resource-Policy", "cross-origin"); return(Task.FromResult(0)); }); _httpContext.Response.StatusCode = 200; ServerLoggerModel.Log(TypeLog.Info, $"{NameCommand}: {Response.HttpContext.Connection.RemoteIpAddress}:{Response.HttpContext.Connection.RemotePort}\r"); }
public void Execute(ServerContext context, ControllerCollection controllerCollection) { IDatabaseConnection databaseConnection = null; var data = JsonLoader.Load(@"ServerCore/ServerConfig.json"); var dbConfig = data.GetNode("database"); switch (dbConfig.GetString("type")) { case "SQL": databaseConnection = new MongoDataBaseConnection(dbConfig.GetNode("settings")); break; } databaseConnection?.OpenConnect(); if (databaseConnection.IsConnected) { ServerLoggerModel.Log(TypeLog.Info, "Connected to database"); } else { ServerLoggerModel.Log(TypeLog.Fatal, "The server did not start correctly due to problems with the connection to the database"); } context.DatabaseConnection = databaseConnection; }
public StartController(ServerContext context, HttpContext httpContext) { _context = context; _httpContext = httpContext; _context.ReplicationCollection = new ReplicationModelCollection(); var dataBaseConnection = new DataBaseConnection(); _context.DataBaseConnection = dataBaseConnection; dataBaseConnection.Connect(); if (!context.DataBaseConnection.IsConnection) { ServerLoggerModel.Log(TypeLog.Fatal, "StartController: the server did not start correctly due to problems with the connection to the database"); } else { CreateModels(); CreateControllers(); _controllerCollection.Activate(); new Deserializer().Deserialize(context); ServerLoggerModel.Log(TypeLog.Info, "server started"); } }
public override void Deserialize(SqlDataReader dataReader) { var user = new UserUnitModel(dataReader.GetString("email"), dataReader.GetString("password"), dataReader.GetString("id"), Convert.ToSingle(dataReader.GetString("money")), dataReader.GetString("permission"), Convert.ToSingle(dataReader.GetString("hours_left"))); Add(user); ServerLoggerModel.Log(TypeLog.Info, "users deserialize was completed"); }
public override void Execute(ServerContext context) { var user = context.UserModel.Get(_userId); user.Properties.Get <string>("session").Value = string.Empty; user.Properties.Get <int>("is_authorisation").Value = 0; UserParams.Add("authorisation", false); Send(); ServerLoggerModel.Log(TypeLog.UserMessage, $"User {_userId} logged out"); }
public void OpenConnect() { var connectionString = _settings.GetString("mongodb"); try { Client = new MongoClient(connectionString); IsConnected = true; } catch (Exception e) { ServerLoggerModel.Log(TypeLog.Error, $"database connection error: {e.Message}"); } }
public static void Main(string[] args) { var configServer = new ConfigurationBuilder() .AddCommandLine(args) .Build(); try { ServerLoggerModel.Log(TypeLog.Info, "server is starting"); CreateHostBuilder(configServer).Build().Run(); } catch (Exception e) { ServerLoggerModel.Log(TypeLog.Fatal, $"launch server error: {e}"); } }
public void AddRequest(RegistrationHandlerData data, ServerContext context) { var userCollection = context.Data.UserCollection; var unique = true; foreach (var user in userCollection.Users.Values) { if (user.Email.Equals(data.Email) || user.Login.Equals(data.Login)) { unique = false; } } if (unique) { var user = new User() { Email = data.Email, Login = data.Login, Name = data.Name, Password = data.Password, }; userCollection.AddNewUser(user); data.UserParams.Add("id", user.Id.ToString()); data.UserParams.Add("err", "false"); ServerLoggerModel.Log(TypeLog.UserMessage, $"User {user.Id} has been registered at {DateTime.Now}"); } else { data.UserParams.Add("err", "true"); data.UserParams.Add("err_t", "Email or login exists"); ServerLoggerModel.Log(TypeLog.UserMessage, $"Registration error at {DateTime.Now}"); } var sendObject = JsonConvert.SerializeObject(data.UserParams); data.Send(sendObject); }
public override void Execute(ServerContext context) { UserParams.Add("permission", string.Empty); try { if (!context.UserModel.Emails.ContainsKey(_email)) { UserParams["error"] = true; UserParams["error_text"] = "Wrong email"; ServerLoggerModel.Log(TypeLog.UserMessage, "unsuccessful login attempt"); } else { var userId = context.UserModel.Emails[_email]; var user = context.UserModel.Get(userId); if (_password == user.Properties.Get <string>("password").Value) { UserParams.Add("user", user.Properties.GetSerialize()); ServerLoggerModel.Log(TypeLog.UserMessage, $"user {user.Properties.Get<string>("id").Value} logged in"); } else { UserParams["error"] = true; UserParams["error_text"] = "Wrong password"; ServerLoggerModel.Log(TypeLog.UserMessage, $"user {user.Properties.Get<string>("id").Value} entered incorrect data"); } } } catch (Exception e) { Console.WriteLine(e); throw; } Send(); }
public override void Execute(ServerContext context) { if (context.UserModel.Contains(_userId)) { var user = context.UserModel.Get(_userId); UserParams.Add("authorisation", true); UserParams.Add("user", user.Properties.GetSerialize()); UserParams.Add("history", JSON.ToJSON(((UserUnitModel)user).History)); ServerLoggerModel.Log(TypeLog.UserMessage, $"user {_userId} is authorized"); } else { UserParams["authorisation"] = false; ServerLoggerModel.Log(TypeLog.UserMessage, "user authorization interrupted"); } Send(); }
protected async void Send() { try { var sendObject = JsonConvert.SerializeObject(UserParams); var byteArray = System.Text.Encoding.UTF8.GetBytes(sendObject); _httpContext.Request.ContentType = "application/x-www-form-urlencoded"; _httpContext.Request.ContentLength = byteArray.Length; using (var dataSteam = _httpContext.Response.Body) { dataSteam.Write(byteArray, 0, byteArray.Length); } await _httpContext.Response.CompleteAsync(); } catch (Exception e) { ServerLoggerModel.Log(TypeLog.Fatal, $"Response interrupted: {e.Message}"); } }