11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccipackage org.chromium.net; 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciimport java.net.URL; 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciimport java.util.List; 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciimport java.util.Map; 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Contains basic information about a response. Sent to the embedder whenever 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * headers are received. 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccipublic abstract interface ResponseInfo { 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci /** 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Return the url the response is for (Not the original URL - after 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * redirects, it's the new URL). 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci URL getUrl(); 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci /** 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @return the url chain, including all redirects. The originally 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * requested URL is first. 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci URL[] getUrlChain(); 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci /** 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Returns the HTTP status code. 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci int getHttpStatusCode(); 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci /** 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Returns an unmodifiable map of the response-header fields and values. 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * The null key is mapped to the HTTP status line for compatibility with 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * HttpUrlConnection. 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci Map<String, List<String>> getAllHeaders(); 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci /** True if the response came from the cache. Requests that were 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * revalidated over the network before being retrieved from the cache are 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * considered cached. 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci boolean wasCached(); 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci /** 481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * 491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @return 501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci boolean wasFetchedOverSPDY(); 521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci /** 541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * 551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @return 561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci boolean wasFetchedOverQUIC(); 581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 59