updates to static pipeline

This commit is contained in:
kayone 2014-08-30 13:40:21 -07:00
parent 059028da02
commit dbcabd6df6
7 changed files with 58 additions and 48 deletions

View File

@ -26,7 +26,9 @@ namespace NzbDrone.Api.Extensions.Pipelines
{
try
{
if (!response.ContentType.Contains("image")
if (
!response.ContentType.Contains("image")
&& !response.ContentType.Contains("font")
&& request.Headers.AcceptEncoding.Any(x => x.Contains("gzip"))
&& (!response.Headers.ContainsKey("Content-Encoding") || response.Headers["Content-Encoding"] != "gzip"))
{

View File

@ -51,7 +51,16 @@ namespace NzbDrone.Api.Frontend.Mappers
protected override Stream GetContentStream(string filePath)
{
return StringToStream(GetIndexText());
var text = GetIndexText();
var stream = new MemoryStream();
using (var writer = new StreamWriter(stream))
{
writer.Write(text);
writer.Flush();
}
stream.Position = 0;
return stream;
}
private string GetIndexText()

View File

@ -51,14 +51,5 @@ namespace NzbDrone.Api.Frontend.Mappers
return File.OpenRead(filePath);
}
protected static Stream StringToStream(string text)
{
var stream = new MemoryStream();
var writer = new StreamWriter(stream);
writer.Write(text);
writer.Flush();
stream.Position = 0;
return stream;
}
}
}

View File

@ -0,0 +1,26 @@
using System.Security.Cryptography;
using NzbDrone.Common.Disk;
namespace NzbDrone.Common.Crypto
{
public class Md5HashProvider
{
private readonly IDiskProvider _diskProvider;
public Md5HashProvider(IDiskProvider diskProvider)
{
_diskProvider = diskProvider;
}
public byte[] ComputeHash(string path)
{
using (var md5 = MD5.Create())
{
using (var stream = _diskProvider.StreamFile(path))
{
return md5.ComputeHash(stream);
}
}
}
}
}

View File

@ -0,0 +1,17 @@
using System;
namespace NzbDrone.Common.Extensions
{
public static class Base64Extentions
{
public static string ToBase64(this byte[] bytes)
{
return Convert.ToBase64String(bytes);
}
public static string ToBase64(this long input)
{
return BitConverter.GetBytes(input).ToBase64();
}
}
}

View File

@ -1,16 +1,10 @@
using System;
using System.Text;
using System.Threading;
namespace NzbDrone.Common
{
public static class HashUtil
{
//This should never be changed. very bad things will happen!
private static readonly DateTime Epoch = new DateTime(2010, 1, 1);
private static readonly object _lock = new object();
public static string CalculateCrc(string input)
{
uint mCrc = 0xffffffff;
@ -32,36 +26,5 @@ namespace NzbDrone.Common
}
return String.Format("{0:x8}", mCrc);
}
public static string GenerateCommandId()
{
return GenerateId("c");
}
private static string GenerateId(string prefix)
{
lock (_lock)
{
Thread.Sleep(1);
var tick = (DateTime.Now - Epoch).Ticks;
return prefix + "." + ToBase(tick);
}
}
private static string ToBase(long input)
{
const string BASE_CHARS = "0123456789abcdefghijklmnopqrstuvwxyz";
int targetBase = BASE_CHARS.Length;
var result = new StringBuilder();
do
{
result.Append(BASE_CHARS[(int)(input % targetBase)]);
input /= targetBase;
} while (input > 0);
return result.ToString();
}
}
}

View File

@ -73,6 +73,7 @@
<Compile Include="Composition\IContainer.cs" />
<Compile Include="ConsoleService.cs" />
<Compile Include="ConvertBase32.cs" />
<Compile Include="Crypto\Md5HashProvider.cs" />
<Compile Include="DictionaryExtensions.cs" />
<Compile Include="Disk\DiskProviderBase.cs" />
<Compile Include="Disk\IDiskProvider.cs" />
@ -110,6 +111,7 @@
<Compile Include="Expansive\Tree.cs" />
<Compile Include="Expansive\TreeNode.cs" />
<Compile Include="Expansive\TreeNodeList.cs" />
<Compile Include="Extensions\Base64Extentions.cs" />
<Compile Include="Extensions\StreamExtensions.cs" />
<Compile Include="HashUtil.cs" />
<Compile Include="Http\HttpProvider.cs" />