/// <summary>
 /// Creates a new object.
 /// </summary>
 /// <param name="urlRequested"></param>
 /// <param name="userAddressAndPort"></param>
 /// <param name="userAddress"></param>
 /// <param name="bytesSent"></param>
 /// <param name="classification"></param>
 /// <param name="request"></param>
 /// <param name="httpStatus"></param>
 /// <param name="milliseconds"></param>
 public ResponseSentEventArgs(string urlRequested, string userAddressAndPort, string userAddress, long bytesSent, ContentClassification classification, IRequest request, int httpStatus, int milliseconds)
 {
     UrlRequested       = urlRequested;
     UserAddressAndPort = userAddressAndPort;
     UserAddress        = userAddress;
     BytesSent          = bytesSent;
     Classification     = classification;
     Request            = request;
     HttpStatus         = httpStatus;
     Milliseconds       = milliseconds;
 }
 /// <summary>
 /// Creates a new object.
 /// </summary>
 /// <param name="urlRequested"></param>
 /// <param name="userAddressAndPort"></param>
 /// <param name="userAddress"></param>
 /// <param name="bytesSent"></param>
 /// <param name="classification"></param>
 /// <param name="request"></param>
 /// <param name="httpStatus"></param>
 /// <param name="milliseconds"></param>
 public ResponseSentEventArgs(string urlRequested, string userAddressAndPort, string userAddress, long bytesSent, ContentClassification classification, IRequest request, int httpStatus, int milliseconds)
 {
     UrlRequested = urlRequested;
     UserAddressAndPort = userAddressAndPort;
     UserAddress = userAddress;
     BytesSent = bytesSent;
     Classification = classification;
     Request = request;
     HttpStatus = httpStatus;
     Milliseconds = milliseconds;
 }
 /// <summary>
 /// Configures the request event handler to respond to a request.
 /// </summary>
 /// <param name="handleRequest"></param>
 /// <param name="mimeType"></param>
 /// <param name="content"></param>
 /// <param name="contentLength"></param>
 /// <param name="statusCode"></param>
 /// <param name="contentClassification"></param>
 /// <param name="milliseconds"></param>
 private void ConfigureResponse(bool handleRequest, string mimeType, byte[] content, long contentLength = -1, HttpStatusCode statusCode = HttpStatusCode.OK, ContentClassification contentClassification = ContentClassification.Other, int milliseconds = 0)
 {
     _WebServer.RequestReceived += _RequestReceivedEvent.Handler;
     _RequestReceivedEvent.EventRaised += (object sender, RequestReceivedEventArgs args) => {
         args.Handled = handleRequest;
         if(handleRequest) {
             args.Classification = contentClassification;
             args.Response.ContentLength = contentLength >= 0L ? contentLength : content.LongLength;
             args.Response.MimeType = mimeType;
             args.Response.StatusCode = statusCode;
             _OutputStream.Write(content, 0, content.Length);
         }
         _Now = _Now.AddMilliseconds(milliseconds);
     };
 }
 /// <summary>
 /// Configures the request event handler to respond to a request.
 /// </summary>
 /// <param name="handleRequest"></param>
 /// <param name="mimeType"></param>
 /// <param name="content"></param>
 /// <param name="contentLength"></param>
 /// <param name="statusCode"></param>
 /// <param name="contentClassification"></param>
 /// <param name="milliseconds"></param>
 private void ConfigureResponse(bool handleRequest, string mimeType, string content, long contentLength = -1, HttpStatusCode statusCode = HttpStatusCode.OK, ContentClassification contentClassification = ContentClassification.Other, int milliseconds = 0)
 {
     ConfigureResponse(handleRequest, mimeType, Encoding.UTF8.GetBytes(content), contentLength, statusCode, contentClassification, milliseconds);
 }
Example #5
0
 /// <summary>
 /// Raises an event on the web webServer to simulate a response to a request being sent at a given time.
 /// </summary>
 /// <param name="userAddress"></param>
 /// <param name="userName"></param>
 /// <param name="bytesSent"></param>
 /// <param name="contentClassification"></param>
 /// <param name="timeSent"></param>
 /// <returns></returns>
 private DateTime RaiseResponseEvent(string userAddress, string userName, long bytesSent, ContentClassification contentClassification, DateTime timeSent)
 {
     SetUtcNow(timeSent);
     _WebServer.Raise(s => s.ResponseSent += null, new ResponseSentEventArgs(null, null, userAddress, bytesSent, contentClassification, null, 0, 0, userName));
     return(timeSent);
 }
 /// <summary>
 /// Raises an event on the web webServer to simulate a response to a request being sent at a given time.
 /// </summary>
 /// <param name="userAddress"></param>
 /// <param name="bytesSent"></param>
 /// <param name="contentClassification"></param>
 /// <param name="timeSent"></param>
 /// <returns></returns>
 private DateTime RaiseResponseEvent(string userAddress, long bytesSent, ContentClassification contentClassification, DateTime timeSent)
 {
     SetUtcNow(timeSent);
     _WebServer.Raise(s => s.ResponseSent += null, new ResponseSentEventArgs(null, null, userAddress, bytesSent, contentClassification, null, 0, 0));
     return timeSent;
 }