36 lines
1.0 KiB
C#
Executable File
36 lines
1.0 KiB
C#
Executable File
using System.Web;
|
|
using ThoughtWorks.CruiseControl.WebDashboard.IO;
|
|
|
|
namespace ThoughtWorks.CruiseControl.WebDashboard.MVC
|
|
{
|
|
public class XmlFragmentResponse : IResponse
|
|
{
|
|
private readonly string xmlFragment;
|
|
private ConditionalGetFingerprint serverFingerprint;
|
|
|
|
public XmlFragmentResponse(string xmlFragment)
|
|
{
|
|
this.xmlFragment = xmlFragment;
|
|
}
|
|
|
|
public string ResponseFragment
|
|
{
|
|
get { return xmlFragment; }
|
|
}
|
|
|
|
public void Process(HttpResponse response)
|
|
{
|
|
response.AppendHeader("Last-Modified", serverFingerprint.LastModifiedTime.ToString("r"));
|
|
response.AppendHeader("ETag", serverFingerprint.ETag);
|
|
response.AppendHeader("Cache-Control", "private, max-age=0");
|
|
response.ContentType = MimeType.Xml.ContentType;
|
|
response.Write(xmlFragment);
|
|
}
|
|
|
|
public ConditionalGetFingerprint ServerFingerprint
|
|
{
|
|
get { return serverFingerprint; }
|
|
set { serverFingerprint = value; }
|
|
}
|
|
}
|
|
} |