1e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru/* 2e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * Copyright (C) 2012 The Android Open Source Project 3e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * 4e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * Licensed under the Apache License, Version 2.0 (the "License"); 5e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * you may not use this file except in compliance with the License. 6e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * You may obtain a copy of the License at 7e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * 8e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * http://www.apache.org/licenses/LICENSE-2.0 9e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * 10e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * Unless required by applicable law or agreed to in writing, software 11e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * distributed under the License is distributed on an "AS IS" BASIS, 12e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * See the License for the specific language governing permissions and 14e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru * limitations under the License. 15e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru */ 16e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 17e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Querupackage com.android.volley.mock; 18e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 19e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queruimport java.io.ByteArrayOutputStream; 20e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queruimport java.io.IOException; 21e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queruimport java.io.OutputStream; 22e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queruimport java.net.HttpURLConnection; 23e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queruimport java.net.MalformedURLException; 24e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queruimport java.net.URL; 25e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 26e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Querupublic class MockHttpURLConnection extends HttpURLConnection { 27e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 28e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru private boolean mDoOutput; 29e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru private String mRequestMethod; 30e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru private OutputStream mOutputStream; 31e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 32e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru public MockHttpURLConnection() throws MalformedURLException { 33e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru super(new URL("http://foo.com")); 34e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru mDoOutput = false; 35e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru mRequestMethod = "GET"; 36e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru mOutputStream = new ByteArrayOutputStream(); 37e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru } 38e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 39e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru @Override 40e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru public void setDoOutput(boolean flag) { 41e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru mDoOutput = flag; 42e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru } 43e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 44e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru @Override 45e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru public boolean getDoOutput() { 46e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru return mDoOutput; 47e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru } 48e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 49e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru @Override 50e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru public void setRequestMethod(String method) { 51e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru mRequestMethod = method; 52e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru } 53e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 54e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru @Override 55e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru public String getRequestMethod() { 56e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru return mRequestMethod; 57e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru } 58e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 59e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru @Override 60e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru public OutputStream getOutputStream() { 61e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru return mOutputStream; 62e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru } 63e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 64e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru @Override 65e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru public void disconnect() { 66e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru } 67e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 68e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru @Override 69e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru public boolean usingProxy() { 70e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru return false; 71e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru } 72e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 73e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru @Override 74e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru public void connect() throws IOException { 75e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru } 76e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru 77e48f4430bfd3030350aa5ba827b449c37e2fadc9Jean-Baptiste Queru} 78