public static async Task<string> Upload( Stream src, string url, CancellationToken token, IProgress<MediaFireOperationProgress> progress, Dictionary<string, string> parameters, Dictionary<string, string> headers, long size, MediaFireApiConfiguration configuration ) { const string httpPostMethodString = "POST"; if (parameters != null && parameters.Count != 0) { url = BuildQueryString(parameters, url); } var wr = (HttpWebRequest)WebRequest.Create(url); if (headers != null && headers.Count != 0) { foreach (var header in headers) { if (header.Key == MediaFireApiConstants.ContentTypeHeader) wr.ContentType = header.Value; else { wr.Headers[header.Key] = header.Value; } } } wr.Method = httpPostMethodString; var dstStream = await Task<Stream>.Factory.FromAsync(wr.BeginGetRequestStream, wr.EndGetRequestStream, null); await CopyStreamWithProgress( src, dstStream, progress, token, new MediaFireOperationProgress { TotalSize = size }, configuration.ChunkTransferBufferSize); dstStream.Dispose(); var wResp = await Task<WebResponse>.Factory.FromAsync(wr.BeginGetResponse, wr.EndGetResponse, null); var str = new StreamReader(wResp.GetResponseStream()); var result = str.ReadToEnd(); return result; }
public MediaFireSessionBroker( ICryptoService cryptoService, MediaFireApiConfiguration configuration, string email, string password, MediaFireRequestController requestController ) { _cryptoService = cryptoService; _configuration = configuration; _email = email; _password = password; _requestController = requestController; }
static void Main(string[] args) { ServicePointManager.Expect100Continue = false; var config = new MediaFireApiConfiguration ( appId: AppId, apiKey: AppKey, apiVersion: "1.5", automaticallyRenewToken: true, chunkTransferBufferSize: 1024 ); _agent = new MediaFireAgent(config); Main().Wait(); }
static void Main(string[] args) { var config = new MediaFireApiConfiguration ( appId: AppId, apiKey: AppKey, apiVersion: "1.4", automaticallyRenewToken: true, chunkTransferBufferSize:1024 ); var agent = new MediaFireAgent(config); Console.WriteLine("Signing in {0}...", Email); agent.User.GetSessionToken(Email, Password).Wait(); Console.WriteLine("Getting root folder files and folders...", Email); var folderContent = agent.GetAsync<MediaFireGetContentResponse>(MediaFireApiFolderMethods.GetContent, new Dictionary<string, object> { {MediaFireApiParameters.FolderKey, ""}, {MediaFireApiParameters.ContentType, MediaFireFolderContentType.Folders.ToApiParameter()} }).Result.FolderContent; var fileContent = agent.GetAsync<MediaFireGetContentResponse>(MediaFireApiFolderMethods.GetContent, new Dictionary<string, object> { {MediaFireApiParameters.FolderKey, ""}, {MediaFireApiParameters.ContentType, MediaFireFolderContentType.Files.ToApiParameter()} }).Result.FolderContent; Console.WriteLine("Key | Name"); foreach (var item in folderContent.Folders.Union<MediaFireItem>(fileContent.Files)) { Console.WriteLine("{0} | {1}", item.Key, item.Name); } }
async void MainPage_Loaded(object sender, RoutedEventArgs e) { #if WINDOWS_APP var config = new MediaFireApiConfiguration ( appId: AppId, apiKey: AppKey, apiVersion: "1.4", automaticallyRenewToken: true, chunkTransferBufferSize: 1024, useHttpV1:true //workaround on WinRt platform issue ); #else var config = new MediaFireApiConfiguration ( appId: AppId, apiKey: AppKey, apiVersion: "1.4", automaticallyRenewToken: true, chunkTransferBufferSize: 1024 ); #endif _agent = new MediaFireAgent(config); try { await _agent.User.GetSessionToken(Email, Password); _viewModel = new SdkTestViewModel(_agent); DataContext = _viewModel; _viewModel.LoadUserAndRootFilesCommand.Execute(null); } catch (MediaFireApiException ex) { new MessageDialog(ex.Message, ex.Error.ToString()).ShowAsync(); } }
public MediaFireUploadApi(MediaFireRequestController requestController, MediaFireApiConfiguration configuration) : base(requestController, configuration) { }
public MediaFireUserApi(MediaFireRequestController requestController, MediaFireApiConfiguration configuration, ICryptoService cryptoService) : base(requestController,configuration) { _cryptoService = cryptoService; }