diff options
Diffstat (limited to 'mobile/android/thirdparty/ch/boye/httpclientandroidlib/protocol/UriHttpRequestHandlerMapper.java')
-rw-r--r-- | mobile/android/thirdparty/ch/boye/httpclientandroidlib/protocol/UriHttpRequestHandlerMapper.java | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/protocol/UriHttpRequestHandlerMapper.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/protocol/UriHttpRequestHandlerMapper.java deleted file mode 100644 index f09dea611..000000000 --- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/protocol/UriHttpRequestHandlerMapper.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * ==================================================================== - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - */ - -package ch.boye.httpclientandroidlib.protocol; - -import ch.boye.httpclientandroidlib.HttpRequest; -import ch.boye.httpclientandroidlib.annotation.ThreadSafe; -import ch.boye.httpclientandroidlib.util.Args; - -/** - * Maintains a map of HTTP request handlers keyed by a request URI pattern. - * <br> - * Patterns may have three formats: - * <ul> - * <li><code>*</code></li> - * <li><code>*<uri></code></li> - * <li><code><uri>*</code></li> - * </ul> - * <br> - * This class can be used to map an instance of - * {@link HttpRequestHandler} matching a particular request URI. Usually the - * mapped request handler will be used to process the request with the - * specified request URI. - * - * @since 4.3 - */ -@ThreadSafe // provided injected dependencies are thread-safe -public class UriHttpRequestHandlerMapper implements HttpRequestHandlerMapper { - - private final UriPatternMatcher<HttpRequestHandler> matcher; - - protected UriHttpRequestHandlerMapper(final UriPatternMatcher<HttpRequestHandler> matcher) { - super(); - this.matcher = Args.notNull(matcher, "Pattern matcher"); - } - - public UriHttpRequestHandlerMapper() { - this(new UriPatternMatcher<HttpRequestHandler>()); - } - - /** - * Registers the given {@link HttpRequestHandler} as a handler for URIs - * matching the given pattern. - * - * @param pattern the pattern to register the handler for. - * @param handler the handler. - */ - public void register(final String pattern, final HttpRequestHandler handler) { - Args.notNull(pattern, "Pattern"); - Args.notNull(handler, "Handler"); - matcher.register(pattern, handler); - } - - /** - * Removes registered handler, if exists, for the given pattern. - * - * @param pattern the pattern to unregister the handler for. - */ - public void unregister(final String pattern) { - matcher.unregister(pattern); - } - - /** - * Extracts request path from the given {@link HttpRequest} - */ - protected String getRequestPath(final HttpRequest request) { - String uriPath = request.getRequestLine().getUri(); - int index = uriPath.indexOf("?"); - if (index != -1) { - uriPath = uriPath.substring(0, index); - } else { - index = uriPath.indexOf("#"); - if (index != -1) { - uriPath = uriPath.substring(0, index); - } - } - return uriPath; - } - - /** - * Looks up a handler matching the given request URI. - * - * @param request the request - * @return handler or <code>null</code> if no match is found. - */ - public HttpRequestHandler lookup(final HttpRequest request) { - Args.notNull(request, "HTTP request"); - return matcher.lookup(getRequestPath(request)); - } - -} |