/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed 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.
 */

package android.webkit;

import android.net.Uri;

import java.util.Map;

Encompasses parameters to the WebViewClient.shouldInterceptRequest method.
/** * Encompasses parameters to the {@link WebViewClient#shouldInterceptRequest} method. */
public interface WebResourceRequest {
Gets the URL for which the resource request was made.
Returns:the URL for which the resource request was made.
/** * Gets the URL for which the resource request was made. * * @return the URL for which the resource request was made. */
Uri getUrl();
Gets whether the request was made for the main frame.
Returns:whether the request was made for the main frame. Will be false for iframes, for example.
/** * Gets whether the request was made for the main frame. * * @return whether the request was made for the main frame. Will be {@code false} for iframes, * for example. */
boolean isForMainFrame();
Gets whether the request was a result of a server-side redirect.
Returns:whether the request was a result of a server-side redirect.
/** * Gets whether the request was a result of a server-side redirect. * * @return whether the request was a result of a server-side redirect. */
boolean isRedirect();
Gets whether a gesture (such as a click) was associated with the request. For security reasons in certain situations this method may return false even though the sequence of events which caused the request to be created was initiated by a user gesture.
Returns:whether a gesture was associated with the request.
/** * Gets whether a gesture (such as a click) was associated with the request. * For security reasons in certain situations this method may return {@code false} even though * the sequence of events which caused the request to be created was initiated by a user * gesture. * * @return whether a gesture was associated with the request. */
boolean hasGesture();
Gets the method associated with the request, for example "GET".
Returns:the method associated with the request.
/** * Gets the method associated with the request, for example "GET". * * @return the method associated with the request. */
String getMethod();
Gets the headers associated with the request. These are represented as a mapping of header name to header value.
Returns:the headers associated with the request.
/** * Gets the headers associated with the request. These are represented as a mapping of header * name to header value. * * @return the headers associated with the request. */
Map<String, String> getRequestHeaders(); }