1c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson/* 2c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * Copyright (C) 2011 The Android Open Source Project 3c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * 4c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * Licensed under the Apache License, Version 2.0 (the "License"); 5c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * you may not use this file except in compliance with the License. 6c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * You may obtain a copy of the License at 7c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * 8c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * http://www.apache.org/licenses/LICENSE-2.0 9c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * 10c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * Unless required by applicable law or agreed to in writing, software 11c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS, 12c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * See the License for the specific language governing permissions and 14c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * limitations under the License. 15c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson */ 16c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson 17c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilsonpackage libcore.java.net.customstreamhandler.http; 18c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson 19c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilsonimport java.io.IOException; 20c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilsonimport java.net.URL; 21c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilsonimport java.net.URLConnection; 22c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilsonimport java.net.URLStreamHandler; 23c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson 24c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson/** 25c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * This specially-named class is created reflectively by {@link URL}. For the 26c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * test to be effective, its name must be "Handler" and parent package name must 27c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson * be "http". 28c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson */ 29c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilsonpublic final class Handler extends URLStreamHandler { 30c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson @Override protected URLConnection openConnection(URL url) throws IOException { 31c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson return new HandlerURLConnection(url); 32c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson } 33c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson 34c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson public static class HandlerURLConnection extends URLConnection { 35c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson protected HandlerURLConnection(URL url) { 36c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson super(url); 37c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson } 38c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson 39c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson @Override public void connect() throws IOException { 40c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson } 41c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson } 42c2ebff3511f9df4d8cca2b82630c2d760af9d204Jesse Wilson} 43