Пример #1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public void doFilter(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException
        public override void DoFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
        {
            ValidateRequestType(servletRequest);
            ValidateResponseType(servletResponse);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final javax.servlet.http.HttpServletRequest request = (javax.servlet.http.HttpServletRequest) servletRequest;
            HttpServletRequest request = ( HttpServletRequest )servletRequest;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final javax.servlet.http.HttpServletResponse response = (javax.servlet.http.HttpServletResponse) servletResponse;
            HttpServletResponse response = ( HttpServletResponse )servletResponse;

            try
            {
                LoginContext loginContext = AuthDisabledLoginContext;
                string       userAgent    = request.getHeader(HttpHeaders.USER_AGENT);

                JettyHttpConnection.updateUserForCurrentConnection(loginContext.Subject().username(), userAgent);

                filterChain.doFilter(new AuthorizedRequestWrapper(BASIC_AUTH, "neo4j", request, loginContext), servletResponse);
            }
            catch (AuthorizationViolationException e)
            {
                UnauthorizedAccess(e.Message).accept(response);
            }
        }
Пример #2
0
        public static ClientConnectionInfo Create(HttpServletRequest request)
        {
            string        connectionId;
            string        protocol = request.Scheme;
            SocketAddress clientAddress;
            SocketAddress serverAddress;
            string        requestURI = request.RequestURI;

            JettyHttpConnection connection = JettyHttpConnection.CurrentJettyHttpConnection;

            if (connection != null)
            {
                connectionId  = connection.Id();
                clientAddress = connection.ClientAddress();
                serverAddress = connection.ServerAddress();
            }
            else
            {
                // connection is unknown, connection object can't be extracted or is missing from the Jetty thread-local
                // get all the available information directly from the request
                connectionId  = null;
                clientAddress = new InetSocketAddress(request.RemoteAddr, request.RemotePort);
                serverAddress = new InetSocketAddress(request.ServerName, request.ServerPort);
            }

            return(new HttpConnectionInfo(connectionId, protocol, clientAddress, serverAddress, requestURI));
        }