You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
5.4 KiB
149 lines
5.4 KiB
/* Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
/* From ppb_url_response_info.idl modified Mon Nov 14 10:36:01 2011. */
|
|
|
|
#ifndef PPAPI_C_PPB_URL_RESPONSE_INFO_H_
|
|
#define PPAPI_C_PPB_URL_RESPONSE_INFO_H_
|
|
|
|
#include "ppapi/c/pp_bool.h"
|
|
#include "ppapi/c/pp_macros.h"
|
|
#include "ppapi/c/pp_resource.h"
|
|
#include "ppapi/c/pp_stdint.h"
|
|
#include "ppapi/c/pp_var.h"
|
|
|
|
#define PPB_URLRESPONSEINFO_INTERFACE_1_0 "PPB_URLResponseInfo;1.0"
|
|
#define PPB_URLRESPONSEINFO_INTERFACE PPB_URLRESPONSEINFO_INTERFACE_1_0
|
|
|
|
/**
|
|
* @file
|
|
* This file defines the <code>PPB_URLResponseInfo</code> API for examining URL
|
|
* responses.
|
|
*/
|
|
|
|
|
|
/**
|
|
* @addtogroup Enums
|
|
* @{
|
|
*/
|
|
/**
|
|
* This enumeration contains properties set on a URL response.
|
|
*/
|
|
typedef enum {
|
|
/**
|
|
* This corresponds to a string (PP_VARTYPE_STRING); an absolute URL formed by
|
|
* resolving the relative request URL with the absolute document URL. Refer
|
|
* to the
|
|
* <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2">
|
|
* HTTP Request URI</a> and
|
|
* <a href="http://www.w3.org/TR/html4/struct/links.html#h-12.4.1">
|
|
* HTML Resolving Relative URIs</a> documentation for further information.
|
|
*/
|
|
PP_URLRESPONSEPROPERTY_URL = 0,
|
|
/**
|
|
* This corresponds to a string (PP_VARTYPE_STRING); the absolute URL returned
|
|
* in the response header's 'Location' field if this is a redirect response,
|
|
* an empty string otherwise. Refer to the
|
|
* <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">
|
|
* HTTP Status Codes - Redirection</a> documentation for further information.
|
|
*/
|
|
PP_URLRESPONSEPROPERTY_REDIRECTURL = 1,
|
|
/**
|
|
* This corresponds to a string (PP_VARTYPE_STRING); the HTTP method to be
|
|
* used in a new request if this is a redirect response, an empty string
|
|
* otherwise. Refer to the
|
|
* <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">
|
|
* HTTP Status Codes - Redirection</a> documentation for further information.
|
|
*/
|
|
PP_URLRESPONSEPROPERTY_REDIRECTMETHOD = 2,
|
|
/**
|
|
* This corresponds to an int32 (PP_VARETYPE_INT32); the status code from the
|
|
* response, e.g., 200 if the request was successful. Refer to the
|
|
* <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1">
|
|
* HTTP Status Code and Reason Phrase</a> documentation for further
|
|
* information.
|
|
*/
|
|
PP_URLRESPONSEPROPERTY_STATUSCODE = 3,
|
|
/**
|
|
* This corresponds to a string (PP_VARTYPE_STRING); the status line
|
|
* from the response. Refer to the
|
|
* <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1">
|
|
* HTTP Response Status Line</a> documentation for further information.
|
|
*/
|
|
PP_URLRESPONSEPROPERTY_STATUSLINE = 4,
|
|
/**
|
|
* This corresponds to a string(PP_VARTYPE_STRING), a \n-delimited list of
|
|
* header field/value pairs of the form "field: value", returned by the
|
|
* server. Refer to the
|
|
* <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14">
|
|
* HTTP Header Field Definitions</a> documentation for further information.
|
|
*/
|
|
PP_URLRESPONSEPROPERTY_HEADERS = 5
|
|
} PP_URLResponseProperty;
|
|
PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_URLResponseProperty, 4);
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @addtogroup Interfaces
|
|
* @{
|
|
*/
|
|
/**
|
|
* The PPB_URLResponseInfo interface contains APIs for
|
|
* examining URL responses. Refer to <code>PPB_URLLoader</code> for further
|
|
* information.
|
|
*/
|
|
struct PPB_URLResponseInfo_1_0 {
|
|
/**
|
|
* IsURLResponseInfo() determines if a response is a
|
|
* <code>URLResponseInfo</code>.
|
|
*
|
|
* @param[in] resource A <code>PP_Resource</code> corresponding to a
|
|
* <code>URLResponseInfo</code>.
|
|
*
|
|
* @return <code>PP_TRUE</code> if the resource is a
|
|
* <code>URLResponseInfo</code>, <code>PP_FALSE</code> if the resource is
|
|
* invalid or some type other than <code>URLResponseInfo</code>.
|
|
*/
|
|
PP_Bool (*IsURLResponseInfo)(PP_Resource resource);
|
|
/**
|
|
* GetProperty() gets a response property.
|
|
*
|
|
* @param[in] request A <code>PP_Resource</code> corresponding to a
|
|
* <code>URLResponseInfo</code>.
|
|
* @param[in] property A <code>PP_URLResponseProperty</code> identifying
|
|
* the type of property in the response.
|
|
*
|
|
* @return A <code>PP_Var</code> containing the response property value if
|
|
* successful, <code>PP_VARTYPE_VOID</code> if an input parameter is invalid.
|
|
*/
|
|
struct PP_Var (*GetProperty)(PP_Resource response,
|
|
PP_URLResponseProperty property);
|
|
/**
|
|
* GetBodyAsFileRef() returns a FileRef pointing to the file containing the
|
|
* response body. This is only valid if
|
|
* <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the
|
|
* <code>URLRequestInfo</code> used to produce this response. This file
|
|
* remains valid until the <code>URLLoader</code> associated with this
|
|
* <code>URLResponseInfo</code> is closed or destroyed.
|
|
*
|
|
* @param[in] request A <code>PP_Resource</code> corresponding to a
|
|
* <code>URLResponseInfo</code>.
|
|
*
|
|
* @return A <code>PP_Resource</code> corresponding to a <code>FileRef</code>
|
|
* if successful, 0 if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was
|
|
* not requested or if the <code>URLLoader</code> has not been opened yet.
|
|
*/
|
|
PP_Resource (*GetBodyAsFileRef)(PP_Resource response);
|
|
};
|
|
|
|
typedef struct PPB_URLResponseInfo_1_0 PPB_URLResponseInfo;
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
#endif /* PPAPI_C_PPB_URL_RESPONSE_INFO_H_ */
|
|
|
|
|