private void authenticate(UserInfo user, SrvRequest request) { if (user == null || user.Password != request.Password) { throw new ApplicationException($"Wrong user '{request.UserName}' or password"); } }
private TSrvResponse makeResponse <TSrvResponse>(SrvRequest request) where TSrvResponse : SrvResponse, new() { return(new TSrvResponse { TrackingId = request.TrackingId }); }
private ITcpOp startTcpOp(SrvRequest request) { request.TrackingId = Helpers.MakeTrackingId(); request.ServerName = _info.ServerName; request.Port = _info.Port; request.UserName = _info.UserName; request.Password = _info.Password; return (TcpOp.New(_config.BinaryStreamBufSize, _tcpClient.GetStream())); }
private async Task <bool> dispathRequest(SrvRequest request, string jRequest, ITcpOp tcpOp) { try { switch (request.Command) { case SrvRequest.PING: var pingRequest = jRequest.Parse <SrvPingRequest>(); await _server.Ping(pingRequest, tcpOp); break; case SrvRequest.LIST: var listRequest = jRequest.Parse <SrvListRequest>(); await _server.ListFiles(listRequest, tcpOp); break; case SrvRequest.UPLOAD: var uploadRequest = jRequest.Parse <SrvUploadRequest>(); await _server.UploadFile(uploadRequest, tcpOp); break; case SrvRequest.DOWNLOAD: var downloadRequest = jRequest.Parse <SrvDownloadRequest>(); await _server.DownloadFile(downloadRequest, tcpOp); break; case SrvRequest.DELETE: var deleteRequest = jRequest.Parse <SrvDeleteRequest>(); await _server.DeleteFile(deleteRequest, tcpOp); break; default: throw new IOException($"Unknown command: {request.Command}"); } return(true); } catch (Exception ex) { _log.Error(request.TrackingId, ex); await tcpOp.Write(new SrvResponse { TrackingId = request.TrackingId, Error = ex.Message }); return(false); } }
private async Task <UserInfo> getUser(SrvRequest request) { var user = await _users.Get(request.UserName); return(user); }
private void validate(SrvRequest request) { }