From ffcfc122be2e9b54d168c644809f731451d8e45c Mon Sep 17 00:00:00 2001 From: Ravinder Jangra Date: Thu, 25 Jul 2019 18:27:03 +0530 Subject: [PATCH] refactor/browser: refactoring --- .../WebFetchImplementation/WebFetch.cs | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/SafeMobileBrowser/SafeMobileBrowser/WebFetchImplementation/WebFetch.cs b/SafeMobileBrowser/SafeMobileBrowser/WebFetchImplementation/WebFetch.cs index aa0bf1c3..e63702da 100644 --- a/SafeMobileBrowser/SafeMobileBrowser/WebFetchImplementation/WebFetch.cs +++ b/SafeMobileBrowser/SafeMobileBrowser/WebFetchImplementation/WebFetch.cs @@ -27,15 +27,15 @@ public async Task FetchAsync(string url, WebFetchOptions optio var (serviceMd, parsedPath) = await WebFetchHelper(url); var path = CreateFinalPath(parsedPath); var file = await TryDifferentPaths(serviceMd, path); - var filedata = await ReadContentFromFile(serviceMd, file, options); - response.Data = filedata.Item1.ToArray(); + var fileData = await ReadContentFromFile(serviceMd, file, options); + response.Data = fileData.Item1.ToArray(); response.MimeType = file.MimeType; response.Headers.Add("Content-Type", file.MimeType); - if (options != null) - { - response.Headers.Add("Content-Range", $"bytes {filedata.Item2}-{filedata.Item3}/{filedata.Item4}"); - response.Headers.Add("Content-Length", $"{filedata.Item4}"); - } + if (options == null) + return response; + + response.Headers.Add("Content-Range", $"bytes {fileData.Item2}-{fileData.Item3}/{fileData.Item4}"); + response.Headers.Add("Content-Length", $"{fileData.Item4}"); return response; } catch (WebFetchException ex) @@ -84,15 +84,20 @@ public async Task<(MDataInfo, string)> WebFetchHelper(string url) var parsedUrl = new Uri(url); var hostname = parsedUrl.Host; - var hostparts = hostname.Split('.').ToList(); - var publicName = hostparts.Last(); - hostparts.Remove(publicName); - var serviceName = string.Join(".", hostparts); + var hostParts = hostname.Split('.').ToList(); + var publicName = hostParts.Last(); + hostParts.Remove(publicName); + var serviceName = string.Join(".", hostParts); + + Logger.Info($"Public Name: {publicName}"); + Logger.Info($"Service Name: {serviceName}"); // let's decompose and normalise the path var path = parsedUrl.AbsolutePath == "/" ? string.Empty : parsedUrl.AbsolutePath; var parsedPath = string.IsNullOrEmpty(path) ? string.Empty : System.Web.HttpUtility.UrlDecode(path); + Logger.Info($"Parsed Path: {parsedPath}"); + var mdataInfo = await GetContainerFromPublicId(publicName, serviceName); return (mdataInfo, parsedPath); @@ -107,12 +112,12 @@ public async Task<(MDataInfo, string)> WebFetchHelper(string url) /// MDataInfo for the service MData public async Task GetContainerFromPublicId(string pubName, string serviceName) { - (List, ulong) serviceInfo = (default(List), default(ulong)); + var serviceInfo = (default(List), default(ulong)); try { // Fetch mdata entry value for service var address = await SafeApp.Misc.Crypto.Sha3HashAsync(pubName.ToUtfBytes()); - MDataInfo servicesContainer = new MDataInfo + var servicesContainer = new MDataInfo { TypeTag = WebFetchConstants.DNSTagType, Name = address.ToArray() @@ -217,6 +222,7 @@ void HandleNFSFetchException(FfiException exception) HandleNFSFetchException((FfiException)ex); } } + if (file == null) { try @@ -233,8 +239,8 @@ void HandleNFSFetchException(FfiException exception) } } - string extension = filePath.Substring(filePath.LastIndexOf('.') + 1); - string mimeType = MimeUtility.GetMimeMapping(extension); + var extension = filePath.Substring(filePath.LastIndexOf('.') + 1); + var mimeType = MimeUtility.GetMimeMapping(extension); return new WebFile { File = file.Value, MimeType = mimeType }; }