Exemple #1
0
 private void authenticate(UserInfo user, SrvRequest request)
 {
     if (user == null || user.Password != request.Password)
     {
         throw new ApplicationException($"Wrong user '{request.UserName}' or password");
     }
 }
Exemple #2
0
 private TSrvResponse makeResponse <TSrvResponse>(SrvRequest request)
     where TSrvResponse : SrvResponse, new()
 {
     return(new TSrvResponse {
         TrackingId = request.TrackingId
     });
 }
Exemple #3
0
        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()));
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        private async Task <UserInfo> getUser(SrvRequest request)
        {
            var user = await _users.Get(request.UserName);

            return(user);
        }
Exemple #6
0
 private void validate(SrvRequest request)
 {
 }