protected override HttpMessageWriter IsAuthorized(BaseHttpConnection c, ByteArrayPart realm, int agentIndex) { HttpMessageWriter writer; authorization.IsAuthorized(c.HttpReader, c.Content, realm, agentIndex, out writer); return writer; }
protected override HttpMessageWriter IsAuthorized(BaseHttpConnection c, ByteArrayPart realm, int agentIndex) { HttpMessageWriter writer; authorization.IsAuthorized(c.HttpReader, c.Content, realm, agentIndex, out writer); return(writer); }
public void ProcessIncomingRequest(BaseHttpConnection c) { bool handled = false; for (int i = 0; i < agents.Length; i++) { var result = agents[i].Value.IsHandled(c.HttpReader); if (result.IsHandled) { bool isAuthorized = true; if (agents[i].IsAuthorizationEnabled && result.IsAuthorizationRequred) { var writer = IsAuthorized(c, result.Realm, i); if (writer != null) { isAuthorized = false; SendResponse(c, writer, InvalidAgentIndex); } } if (isAuthorized) { agents[i].Value.HandleRequest(c, c.HttpReader, c.Content); } handled = true; break; } } if (handled == false) { var writer = new HttpMessageWriter(); writer.WriteStatusLine(StatusCodes.TemporaryRedirect); writer.WriteLocation(c.LocalEndPoint.Protocol == ServerProtocol.Tcp, c.HttpReader.Host.Host, c.HttpReader.Host.Port, defaultUri); writer.WriteContentLength(0); writer.WriteCRLF(); SendResponse(c, writer, InvalidAgentIndex); } }
protected virtual HttpMessageWriter IsAuthorized(BaseHttpConnection c, ByteArrayPart realm, int agentIndex) { return(null); }
protected virtual HttpMessageWriter IsAuthorized(BaseHttpConnection c, ByteArrayPart realm, int agentIndex) { return null; }
public void ProcessIncomingRequest(BaseHttpConnection c) { bool handled = false; for (int i = 0; i < agents.Length; i++) { var result = agents[i].Value.IsHandled(c.HttpReader); if (result.IsHandled) { bool isAuthorized = true; if (agents[i].IsAuthorizationEnabled && result.IsAuthorizationRequred) { var writer = IsAuthorized(c, result.Realm, i); if (writer != null) { isAuthorized = false; SendResponse(c, writer, InvalidAgentIndex); } } if (isAuthorized) agents[i].Value.HandleRequest(c, c.HttpReader, c.Content); handled = true; break; } } if (handled == false) { var writer = new HttpMessageWriter(); writer.WriteStatusLine(StatusCodes.TemporaryRedirect); writer.WriteLocation(c.LocalEndPoint.Protocol == ServerProtocol.Tcp, c.HttpReader.Host.Host, c.HttpReader.Host.Port, defaultUri); writer.WriteContentLength(0); writer.WriteCRLF(); SendResponse(c, writer, InvalidAgentIndex); } }