viewing source w/ exyus
had some fun this evening (again). this time i added a simple "viewsource" tool to the exyus engine. now it's easy to build URLs that can display source code files safely for a browser.
it's pretty simple, really, i wrote a new class based on HTTPResource
that forces the return content-type to text/plain
(and throws 416 if the client can't support that) and then echoes the file to the client. you can check out the checked in source for thePlainTextViewer.cs
for details.
i used this new base-class resource to create an instance that handles just the source files for the TaskList project. the instance class looks like this:
using System; using System.Web; using Exyus.Web; // 2008-01-25 (mca) namespace Exyus.Samples { // echo source code files to browser in plain text [UriPattern(@"/tasklist/source/(?:\.xcs)(?:.*)?")] [MediaTypes("text/plain")] class TaskListSource : PlainTextViewer { public TaskListSource() { this.MaxAge = 600; this.UseValidationCaching = true; this.Files.Add("file1.cs", "/path/to/file/file1.cs"); this.Files.Add("file2.css", "/path/to/file/file2.css"); this.Files.Add("file3.js", "/path/to/file/file3.js"); this.Files.Add("file4.xsl", "/path/to/file/file4.xsl"); } } }
you can check out the *live* TaskList Source Viewer , too.!