// // ======================================================================== // Copyright (c) 1995-2017 Mort Bay Consulting Pty. Ltd. // ------------------------------------------------------------------------ // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v1.0 // and Apache License v2.0 which accompanies this distribution. // // The Eclipse Public License is available at // http://www.eclipse.org/legal/epl-v10.html // // The Apache License v2.0 is available at // http://www.opensource.org/licenses/apache2.0.php // // You may elect to redistribute this code under either of these licenses. // ======================================================================== // package org.eclipse.jetty.http.spi; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.sun.net.httpserver.Authenticator; import com.sun.net.httpserver.Filter; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; /** * Jetty implementation of {@link com.sun.net.httpserver.HttpContext} */ public class JettyHttpContext extends com.sun.net.httpserver.HttpContext { private HttpSpiContextHandler _jettyContextHandler; private HttpServer _server; private Map<String,Object> _attributes = new HashMap<String,Object>(); private List<Filter> _filters = new ArrayList<Filter>(); private Authenticator _authenticator; protected JettyHttpContext(HttpServer server, String path, HttpHandler handler) { this._server = server; _jettyContextHandler = new HttpSpiContextHandler(this, handler); _jettyContextHandler.setContextPath(path); } protected HttpSpiContextHandler getJettyContextHandler() { return _jettyContextHandler; } @Override public HttpHandler getHandler() { return _jettyContextHandler.getHttpHandler(); } @Override public void setHandler(HttpHandler h) { _jettyContextHandler.setHttpHandler(h); } @Override public String getPath() { return _jettyContextHandler.getContextPath(); } @Override public HttpServer getServer() { return _server; } @Override public Map<String, Object> getAttributes() { return _attributes; } @Override public List<Filter> getFilters() { return _filters; } @Override public Authenticator setAuthenticator(Authenticator auth) { Authenticator previous = _authenticator; _authenticator = auth; return previous; } @Override public Authenticator getAuthenticator() { return _authenticator; } }