forked from jetheredge/SquishIt
/
HttpResolver.cs
44 lines (40 loc) · 1.33 KB
/
HttpResolver.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
namespace SquishIt.Framework.Resolvers
{
public class HttpResolver: IResolver
{
public string TryResolve(string file)
{
var webRequestObject = (HttpWebRequest)WebRequest.Create(file);
var webResponse = webRequestObject.GetResponse();
try
{
string contents;
using (var sr = new StreamReader(webResponse.GetResponseStream()))
{
contents = sr.ReadToEnd();
}
string fileName = Path.GetTempPath() + Path.GetRandomFileName();
using (var sw = new StreamWriter(fileName))
{
sw.Write(contents);
}
return fileName;
}
finally
{
webResponse.Close();
}
}
public IEnumerable<string> TryResolveFolder(string path, bool recursive, IEnumerable<string> allowedExtensions, IEnumerable<string> disallowedExtensions) {
throw new NotImplementedException("Adding entire directories only supported by FileSystemResolver.");
}
public virtual bool IsDirectory(string path)
{
return false;
}
}
}