DevX Home    Today's Headlines   Articles Archive   Tip Bank   Forums   

Results 1 to 5 of 5

Threaded View

  1. #1
    Join Date
    Dec 2008

    IHttpModule Filter Html Sharepoint


    I'm rather new to both ASP.net and Sharepoint and I need to do some filtering of the response output from a Sharepoint application.

    I've read about the possibility to intercept the response in ASP.net applications "just before" it is sent to the client. It succeeded to do that for asp-pages served by Sharepoint, but my problem is that I want to intercept the pure HTML files only.

    I do catch the response but I'm not able to get the call to the overridden write() in my filter. It only works for the asp-pages.

    See the code below. Could somebody please have a look and try to help me out =)
    public class MOSSCleanupModule : IHttpModule
       public void Init(HttpApplication app)
          app.ReleaseRequestState += new EventHandler(InstallResponseFilter);
      private void InstallResponseFilter(object sender, EventArgs e)
         HttpResponse response = HttpContext.Current.Response;
         HttpRequest request = HttpContext.Current.Request;
         if (response.ContentType == "text/html" && request.Url.AbsolutePath.EndsWith(".htm"))
            Debug.Write("in InstallResponseFilter()");
            response.Filter = new ModifyHtmlContentFilter(response.Filter);
      public void Dispose()
    public class ModifyHtmlContentFilter : Stream
       private Stream responseStream;
       public ModifyHtmlContentFilter(Stream inputStream)>
          Debug.Write("in ModifyHtmlContentFilter");
          this.responseStream = inputStream;
       public override void Write(byte[] buffer, int offset, int count)
          Debug.Write("in custom Write()");
          StringBuilder html = new StringBuilder(System.Text.UTF8Encoding.UTF8.GetString(buffer, offset, count));
          this.modifyHtml(html, "..");
          byte[] data = System.Text.UTF8Encoding.UTF8.GetBytes(html.ToString());
          responseStream.Write(data, 0, data.Length);
       private void modifyHtml(StringBuilder html, string search)
          Debug.Write("in modifyHtml()");
          // Modify the html
    #region Filter overrides
    public override bool CanRead{get{return true;}
    public override bool CanSeek{get{return true;}}
    public override bool CanWrite{get{return true;}}
    public override void Close(){responseStream.Close();}
    public override void Flush(){responseStream.Flush();}
    public override long Length{get{return 0;}}
    public override long Position{get{return position;}set{position = value;}}
    public override long Seek(long offset, SeekOrigin origin){return responseStream.Seek(offset, origin);}
    public override void SetLength(long length){responseStream.SetLength(length);}
    public override int Read(byte[] buffer, int offset, int count){return responseStream.Read(buffer, offset, count);}
    Last edited by Hack; 12-29-2008 at 11:55 AM. Reason: Added Code Tags

Similar Threads

  1. Xml + xsl = html 4 email ??
    By Complete in forum XML
    Replies: 0
    Last Post: 12-12-2008, 08:18 AM
  2. how filter source html?
    By jason213123 in forum Web
    Replies: 2
    Last Post: 09-09-2008, 04:08 AM
  3. Replies: 0
    Last Post: 03-10-2008, 11:41 AM
  4. Importing xslt into 1 master xslt then to html
    By Patrick Long in forum XML
    Replies: 1
    Last Post: 03-01-2002, 02:47 PM
  5. get specific filter after click on html row
    By Bahi in forum Architecture and Design
    Replies: 0
    Last Post: 02-12-2001, 01:43 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center
Latest Articles
Questions? Contact us.
Web Development
Latest Tips
Open Source

   Development Centers

   -- Android Development Center
   -- Cloud Development Project Center
   -- HTML5 Development Center
   -- Windows Mobile Development Center

We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.