예제 #1
0
        public async Task <HttpResponseMessage> DownloadChunkAsync(CFileInfo fileInfo, CUserInfo userInfo, byte[] chunk, bool isLastChunk)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();

            // set Authorization header
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(userInfo);

            string fileInfoJson = JsonConvert.SerializeObject(fileInfo);

            client.DefaultRequestHeaders.Add("fileInfo", fileInfoJson);

            string chunkSizeJson = JsonConvert.SerializeObject(chunk.Length);

            client.DefaultRequestHeaders.Add("chunkSize", chunkSizeJson);

            string isLastChunkJson = JsonConvert.SerializeObject(isLastChunk);

            client.DefaultRequestHeaders.Add("isLastChunk", isLastChunkJson);

            HttpContent content = new ByteArrayContent(chunk);

            content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");

            HttpResponseMessage response = await client.GetAsync($"api/file/DownloadChunkAsync");

            return(response);
        }
예제 #2
0
        public async Task <HttpResponseMessage> GetPlaylistsByUserId(CUserInfo userInfo)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(userInfo);
            HttpResponseMessage response = await client.GetAsync($"api/playlist/GetByUserId?userId={userInfo.Id}");

            return(response);
        }
예제 #3
0
        public async Task <HttpResponseMessage> LoginAsync(CUserInfo user)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(user);
            HttpResponseMessage response = await client.GetAsync("api/user/login");

            return(response);
        }
예제 #4
0
        public async Task <HttpResponseMessage> UserByNameAsync(CUserInfo user, string userName)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(user);
            HttpResponseMessage response = await client.PostAsJsonAsync("api/user/userbyname", userName);

            return(response);
        }
예제 #5
0
        public async Task <HttpResponseMessage> EditAsync(CUserInfo user)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(user);
            HttpResponseMessage response = await client.PostAsJsonAsync <CUserInfo>("api/user/edit", user);

            return(response);
        }
예제 #6
0
        public async Task <HttpResponseMessage> LikeFileAsync(CFileInfo fileInfo, CUserInfo userInfo)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(userInfo);
            HttpResponseMessage response = await client.PostAsJsonAsync <CFileInfo>($"api/file/LikeFile", fileInfo);

            return(response);
        }
예제 #7
0
        public async Task <HttpResponseMessage> RenameFileAsync(Guid fileId, string newName, CUserInfo userInfo)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(userInfo);
            HttpResponseMessage response = await client.GetAsync($"api/file/RenameFile?fileId={fileId}&newName={newName}");

            return(response);
        }
예제 #8
0
        public async Task <HttpResponseMessage> FilesFromPlaylistAsync(CUserInfo userInfo, CPlaylistInfo playlistInfo)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();

            // set Authorization header
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(userInfo);

            HttpResponseMessage response = await client.GetAsync($"api/file/GetFilesFromPlaylist?playlistId={playlistInfo.Id}");

            return(response);
        }
예제 #9
0
        public async Task <byte[]> GetFileThumbnail(Guid fileId, CUserInfo userInfo)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();

            // set Authorization header
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(userInfo);

            HttpResponseMessage response = await client.GetAsync($"api/file/GetFileThumbnail?fileId={fileId}");

            byte[] result = response.Content.ReadAsByteArrayAsync().Result;

            return(result);
        }
예제 #10
0
        public async Task <CFileInfo> FileDetails(CFileInfo fileInfo, CUserInfo userInfo)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();

            // set Authorization header
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(userInfo);

            HttpResponseMessage response = await client.PostAsJsonAsync <CFileInfo>($"api/file/FileDetails", fileInfo);

            CFileInfo fileInfoFromMediaServer = response.Content.ReadAsAsync <CFileInfo>().Result;

            return(fileInfoFromMediaServer);
        }
예제 #11
0
        public async Task <HttpResponseMessage> DownloadFileAsync(CFileInfo fileInfo, CUserInfo userInfo)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();
            // set Authorization header
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(userInfo);

            string fileInfoJson = JsonConvert.SerializeObject(fileInfo);

            client.DefaultRequestHeaders.Add("fileInfo", fileInfoJson);

            HttpResponseMessage response = await client.GetAsync($"api/file/DownloadAsync?fileId={fileInfo.Guid}");

            return(response);
        }
예제 #12
0
        public async Task <HttpResponseMessage> UploadFileAsync(CFileInfo fileInfo, CUserInfo userInfo)
        {
            // clear all headers
            client.DefaultRequestHeaders.Clear();
            // set Authorization header
            client.DefaultRequestHeaders.Authorization = HelperMethods.UserCredentials(userInfo);

            string fileInfoJson = JsonConvert.SerializeObject(fileInfo);

            client.DefaultRequestHeaders.Add("fileInfo", fileInfoJson);

            HttpContent content = new StreamContent(File.OpenRead(fileInfo.Path));

            content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");

            HttpResponseMessage response = await client.PostAsync("api/file/UploadAsync", content);

            return(response);
        }