// TODO: Must be first responder to be called. protected override IHttpResponse InternalRespond(HttpCall call) { if (_nextResponder == null) { return(new HttpNotImplementedResponse()); } return(_nextResponder.Respond(call)); }
public IHttpResponse Respond(HttpCall call) { if (WillRespond(call)) { return(InternalRespond(call)); } return(_nextResponder.Respond(call)); }
protected override bool CallIsToStaticFile(HttpCall call) { // TODO: fix case insetive comparisons var uri = call.RequestHeader.Uri; if (uri.Contains(".html?") || uri.Contains(".htm?")) { return(true); } return(base.CallIsToStaticFile(call)); }
virtual public IHttpResponse ProcessCall(INetworkStreamWrapper socketWrapper) { _socketWrapper = socketWrapper; _socketWrapper.SkipByteCount(_verbLength + 1); var httpCall = new HttpCall() { ServerSettings = ServerSettings, RequestHeader = GetHeaderFromSocket(), RawRequestBody = GetRequestBodyFromSocket() }; return(_firstCallResponder.Respond(httpCall)); }
protected virtual bool CallIsToStaticFile(HttpCall call) { var uri = call.RequestHeader.Uri; foreach (var fileEnding in StaticFileEndings) { if (uri.EndsWith(fileEnding)) { return(true); } } return(false); }
protected override bool WillRespond(HttpCall call) { return(true); }
abstract protected IHttpResponse InternalRespond(HttpCall call);
abstract protected bool WillRespond(HttpCall call);
protected override IHttpResponse InternalRespond(HttpCall call) { throw new NotImplementedException(); }
protected override bool WillRespond(HttpCall call) { return(CallIsToStaticFile(call)); }