[Fat-develop] FAT/src/FAT.Web/HtmlDetails HtmlDetailsRequestHandler.cs,NONE,1.1 IHtmlDetails.cs,NONE
Brought to you by:
exortech
|
From: <dmc...@us...> - 2004-02-04 02:04:07
|
Update of /cvsroot/fat/FAT/src/FAT.Web/HtmlDetails In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17752/src/FAT.Web/HtmlDetails Modified Files: Html.ashx HtmlDetailsEnhancer.cs HtmlDetailsStore.cs HtmlWithAbsoluteUrls.ashx IHtmlDetailsStore.cs ISession.cs Image.ashx Added Files: HtmlDetailsRequestHandler.cs IHtmlDetails.cs IRequest.cs IResponse.cs Request.cs Response.cs Log Message: Refactored tests for HtmlDetailsRequestHandler. Renamed some classes. --- NEW FILE: HtmlDetailsRequestHandler.cs --- using System.Drawing.Imaging; using System.IO; using System.Web.SessionState; namespace FAT.Web.HtmlDetails { public class HtmlDetailsRequestHandler { private const string URL_PATH = "HtmlDetails/"; public const string IMAGE_HANDLER_RELATIVE_URL = URL_PATH + "Image.ashx"; public const string HTML_HANDLER_RELATIVE_URL = URL_PATH + "Html.ashx"; public const string HTML_WITH_ABSOLUTE_URLS_HANDLER_RELATIVE_URL = URL_PATH + "HtmlWithAbsoluteUrls.ashx"; public const string ID_PARAMETER_NAME = "id"; private ISession session; private IRequest request; private IResponse response; public HtmlDetailsRequestHandler(ISession session, IRequest request, IResponse response) { this.session = session; this.request = request; this.response = response; } public void ReplyWithImageDetails() { response.ContentType="image/jpeg"; IHtmlDetails htmlDetails = GetHtmlDetails(); response.StreamImage(htmlDetails.Thumbnail); } public void ReplyWithHtmlDetails() { response.ContentType="text/plain"; IHtmlDetails htmlDetails = GetHtmlDetails(); response.StreamText(htmlDetails.Html); } public void ReplyWithHtmlWithAbsoluteUrlsDetails() { response.ContentType="text/plain"; IHtmlDetails htmlDetails = GetHtmlDetails(); response.StreamText(htmlDetails.HtmlWithAbsoluteUrls); } public static string CreateImageUrl(string id) { return IMAGE_HANDLER_RELATIVE_URL + "?" + CreateHtmlDetailsIdParameter(id); } public static string CreateHtmlUrl(string id) { return HTML_HANDLER_RELATIVE_URL + "?" + CreateHtmlDetailsIdParameter(id); } public static string CreateHtmlWithAbsoluteUrlsUrl(string id) { return HTML_WITH_ABSOLUTE_URLS_HANDLER_RELATIVE_URL + "?" + CreateHtmlDetailsIdParameter(id); } private static string CreateHtmlDetailsIdParameter(string id) { return ID_PARAMETER_NAME + "=" + id; } private IHtmlDetails GetHtmlDetails() { string id = GetDetailsIdFromRequest(request); IHtmlDetailsStore htmlDetailsStore = HtmlDetailsStore.Instance(session); return htmlDetailsStore.Get(id); } private string GetDetailsIdFromRequest(IRequest request) { return (string)request[ID_PARAMETER_NAME]; } } } --- NEW FILE: IHtmlDetails.cs --- using System; using System.Drawing; namespace FAT.Web.HtmlDetails { public interface IHtmlDetails { string Url {get;} string Html {get;} string HtmlWithAbsoluteUrls {get;} Image Thumbnail {get;} } } --- NEW FILE: IRequest.cs --- using System; namespace FAT.Web.HtmlDetails { public interface IRequest { object this[string key] {get;} } } --- NEW FILE: IResponse.cs --- using System; using System.Drawing; namespace FAT.Web.HtmlDetails { public interface IResponse { string ContentType { set; } void StreamText(string text); void StreamImage(Image image); } } --- NEW FILE: Request.cs --- using System; using System.Web; namespace FAT.Web.HtmlDetails { public class Request : IRequest { private HttpRequest request; public Request(HttpRequest request) { this.request = request; } public object this[string key] { get {return request[key];} } } } --- NEW FILE: Response.cs --- using System; using System.Web; using System.Drawing; using System.Drawing.Imaging; using System.IO; namespace FAT.Web.HtmlDetails { public class Response : IResponse { private HttpResponse response; public Response(HttpResponse response) { this.response = response; } public string ContentType { set { response.ContentType = value; } } public void StreamImage(Image image) { image.Save(response.OutputStream, ImageFormat.Jpeg); } public void StreamText(string text) { using (StreamWriter writer = new StreamWriter(response.OutputStream)) { writer.Write(text); } } } } Index: Html.ashx =================================================================== RCS file: /cvsroot/fat/FAT/src/FAT.Web/HtmlDetails/Html.ashx,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Html.ashx 1 Feb 2004 15:22:33 -0000 1.1 --- Html.ashx 3 Feb 2004 22:08:07 -0000 1.2 *************** *** 12,16 **** public void ProcessRequest(HttpContext context) { ! HtmlDetailsRequestHelper.ReplyWithHtmlDetails(new HtmlDetailsRequestContext(context)); } --- 12,17 ---- public void ProcessRequest(HttpContext context) { ! HtmlDetailsRequestHandler htmlDetailsRequestHandler = new HtmlDetailsRequestHandler(new Session(context.Session), new Request(context.Request), new Response(context.Response)); ! htmlDetailsRequestHandler.ReplyWithHtmlDetails(); } Index: HtmlDetailsEnhancer.cs =================================================================== RCS file: /cvsroot/fat/FAT/src/FAT.Web/HtmlDetails/HtmlDetailsEnhancer.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** HtmlDetailsEnhancer.cs 1 Feb 2004 12:27:15 -0000 1.2 --- HtmlDetailsEnhancer.cs 3 Feb 2004 22:08:07 -0000 1.3 *************** *** 7,11 **** namespace FAT.Web.HtmlDetails { ! public class HtmlDetailsEnhancer { private const int screenWidth = 1050; --- 7,11 ---- namespace FAT.Web.HtmlDetails { ! public class HtmlDetailsEnhancer : IHtmlDetails { private const int screenWidth = 1050; Index: HtmlDetailsStore.cs =================================================================== RCS file: /cvsroot/fat/FAT/src/FAT.Web/HtmlDetails/HtmlDetailsStore.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** HtmlDetailsStore.cs 28 Jan 2004 22:14:49 -0000 1.1 --- HtmlDetailsStore.cs 3 Feb 2004 22:08:07 -0000 1.2 *************** *** 24,36 **** } ! public HtmlDetailsEnhancer Get(string id) { ! return (HtmlDetailsEnhancer)cache[id]; } ! public string Add(HtmlDetailsEnhancer htmlDetailsEnhancer) { string id = GetNextId(); ! cache.Add(id, htmlDetailsEnhancer); return id; } --- 24,36 ---- } ! public IHtmlDetails Get(string id) { ! return (IHtmlDetails)cache[id]; } ! public string Add(IHtmlDetails htmlDetails) { string id = GetNextId(); ! cache.Add(id, htmlDetails); return id; } Index: HtmlWithAbsoluteUrls.ashx =================================================================== RCS file: /cvsroot/fat/FAT/src/FAT.Web/HtmlDetails/HtmlWithAbsoluteUrls.ashx,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** HtmlWithAbsoluteUrls.ashx 1 Feb 2004 15:22:33 -0000 1.1 --- HtmlWithAbsoluteUrls.ashx 3 Feb 2004 22:08:07 -0000 1.2 *************** *** 12,16 **** public void ProcessRequest(HttpContext context) { ! HtmlDetailsRequestHelper.ReplyWithHtmlWithAbsoluteUrlsDetails(new HtmlDetailsRequestContext(context)); } --- 12,17 ---- public void ProcessRequest(HttpContext context) { ! HtmlDetailsRequestHandler htmlDetailsRequestHandler = new HtmlDetailsRequestHandler(new Session(context.Session), new Request(context.Request), new Response(context.Response)); ! htmlDetailsRequestHandler.ReplyWithHtmlWithAbsoluteUrlsDetails(); } Index: IHtmlDetailsStore.cs =================================================================== RCS file: /cvsroot/fat/FAT/src/FAT.Web/HtmlDetails/IHtmlDetailsStore.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** IHtmlDetailsStore.cs 28 Jan 2004 22:14:49 -0000 1.1 --- IHtmlDetailsStore.cs 3 Feb 2004 22:08:07 -0000 1.2 *************** *** 6,11 **** public interface IHtmlDetailsStore { ! HtmlDetailsEnhancer Get(string id); ! string Add(HtmlDetailsEnhancer htmlDetailsEnhancer); } } --- 6,11 ---- public interface IHtmlDetailsStore { ! IHtmlDetails Get(string id); ! string Add(IHtmlDetails htmlDetails); } } Index: ISession.cs =================================================================== RCS file: /cvsroot/fat/FAT/src/FAT.Web/HtmlDetails/ISession.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ISession.cs 28 Jan 2004 22:14:49 -0000 1.1 --- ISession.cs 3 Feb 2004 22:08:07 -0000 1.2 *************** *** 6,10 **** public interface ISession { ! object this[string stringIndex] {get; set;} } } --- 6,10 ---- public interface ISession { ! object this[string key] {get; set;} } } Index: Image.ashx =================================================================== RCS file: /cvsroot/fat/FAT/src/FAT.Web/HtmlDetails/Image.ashx,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Image.ashx 1 Feb 2004 15:22:33 -0000 1.1 --- Image.ashx 3 Feb 2004 22:08:07 -0000 1.2 *************** *** 12,16 **** public void ProcessRequest(HttpContext context) { ! HtmlDetailsRequestHelper.ReplyWithImageDetails(new HtmlDetailsRequestContext(context)); } --- 12,17 ---- public void ProcessRequest(HttpContext context) { ! HtmlDetailsRequestHandler htmlDetailsRequestHandler = new HtmlDetailsRequestHandler(new Session(context.Session), new Request(context.Request), new Response(context.Response)); ! htmlDetailsRequestHandler.ReplyWithImageDetails(); } |