| Index: generated/googleapis/lib/pagespeedonline/v1.dart
|
| diff --git a/generated/googleapis/lib/pagespeedonline/v1.dart b/generated/googleapis/lib/pagespeedonline/v1.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d6905268eb95ec44423165640b6fe1f8bffa381a
|
| --- /dev/null
|
| +++ b/generated/googleapis/lib/pagespeedonline/v1.dart
|
| @@ -0,0 +1,871 @@
|
| +library googleapis.pagespeedonline.v1;
|
| +
|
| +import "dart:core" as core;
|
| +import "dart:collection" as collection;
|
| +import "dart:async" as async;
|
| +import "dart:convert" as convert;
|
| +
|
| +import "package:crypto/crypto.dart" as crypto;
|
| +import 'package:http/http.dart' as http;
|
| +import '../src/common_internal.dart' as common_internal;
|
| +import '../common/common.dart' as common;
|
| +
|
| +export '../common/common.dart' show ApiRequestError;
|
| +export '../common/common.dart' show DetailedApiRequestError;
|
| +
|
| +/**
|
| + * Lets you analyze the performance of a web page and get tailored suggestions
|
| + * to make that page faster.
|
| + */
|
| +class PagespeedonlineApi {
|
| +
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + PagespeedapiResourceApi get pagespeedapi => new PagespeedapiResourceApi(_requester);
|
| +
|
| + PagespeedonlineApi(http.Client client) :
|
| + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/pagespeedonline/v1/");
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class PagespeedapiResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + PagespeedapiResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Runs Page Speed analysis on the page at the specified URL, and returns a
|
| + * Page Speed score, a list of suggestions to make that page faster, and other
|
| + * information.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [url] - The URL to fetch and analyze
|
| + * Value must have pattern "http(s)?://.*".
|
| + *
|
| + * [filterThirdPartyResources] - Indicates if third party resources should be
|
| + * filtered out before PageSpeed analysis.
|
| + *
|
| + * [locale] - The locale used to localize formatted results
|
| + * Value must have pattern "[a-zA-Z]+(_[a-zA-Z]+)?".
|
| + *
|
| + * [rule] - A Page Speed rule to run; if none are given, all rules are run
|
| + * Value must have pattern "[a-zA-Z]+".
|
| + *
|
| + * [screenshot] - Indicates if binary data containing a screenshot should be
|
| + * included
|
| + *
|
| + * [strategy] - The analysis strategy to use
|
| + * Possible string values are:
|
| + * - "desktop" : Fetch and analyze the URL for desktop browsers
|
| + * - "mobile" : Fetch and analyze the URL for mobile devices
|
| + *
|
| + * Completes with a [Result].
|
| + *
|
| + * Completes with a [common.ApiRequestError] if the API endpoint returned an
|
| + * error.
|
| + *
|
| + * If the used [http.Client] completes with an error when making a REST call,
|
| + * this method will complete with the same error.
|
| + */
|
| + async.Future<Result> runpagespeed(core.String url, {core.bool filterThirdPartyResources, core.String locale, core.List<core.String> rule, core.bool screenshot, core.String strategy}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (url == null) {
|
| + throw new core.ArgumentError("Parameter url is required.");
|
| + }
|
| + _queryParams["url"] = [url];
|
| + if (filterThirdPartyResources != null) {
|
| + _queryParams["filter_third_party_resources"] = ["${filterThirdPartyResources}"];
|
| + }
|
| + if (locale != null) {
|
| + _queryParams["locale"] = [locale];
|
| + }
|
| + if (rule != null) {
|
| + _queryParams["rule"] = rule;
|
| + }
|
| + if (screenshot != null) {
|
| + _queryParams["screenshot"] = ["${screenshot}"];
|
| + }
|
| + if (strategy != null) {
|
| + _queryParams["strategy"] = [strategy];
|
| + }
|
| +
|
| +
|
| + _url = 'runPagespeed';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Result.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs {
|
| + /**
|
| + * Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, or
|
| + * DURATION.
|
| + */
|
| + core.String type;
|
| +
|
| + /** Argument value, as a localized string. */
|
| + core.String value;
|
| +
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs();
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs.fromJson(core.Map _json) {
|
| + if (_json.containsKey("type")) {
|
| + type = _json["type"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (type != null) {
|
| + _json["type"] = type;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Heading to be displayed with the list of URLs. */
|
| +class ResultFormattedResultsRuleResultsValueUrlBlocksHeader {
|
| + /** List of arguments for the format string. */
|
| + core.List<ResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs> args;
|
| +
|
| + /**
|
| + * A localized format string with $N placeholders, where N is the 1-indexed
|
| + * argument number, e.g. 'Minifying the following $1 resources would save a
|
| + * total of $2 bytes'.
|
| + */
|
| + core.String format;
|
| +
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksHeader();
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksHeader.fromJson(core.Map _json) {
|
| + if (_json.containsKey("args")) {
|
| + args = _json["args"].map((value) => new ResultFormattedResultsRuleResultsValueUrlBlocksHeaderArgs.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("format")) {
|
| + format = _json["format"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (args != null) {
|
| + _json["args"] = args.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (format != null) {
|
| + _json["format"] = format;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs {
|
| + /**
|
| + * Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, or
|
| + * DURATION.
|
| + */
|
| + core.String type;
|
| +
|
| + /** Argument value, as a localized string. */
|
| + core.String value;
|
| +
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs();
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs.fromJson(core.Map _json) {
|
| + if (_json.containsKey("type")) {
|
| + type = _json["type"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (type != null) {
|
| + _json["type"] = type;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails {
|
| + /** List of arguments for the format string. */
|
| + core.List<ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs> args;
|
| +
|
| + /**
|
| + * A localized format string with $N placeholders, where N is the 1-indexed
|
| + * argument number, e.g. 'Unnecessary metadata for this resource adds an
|
| + * additional $1 bytes to its download size'.
|
| + */
|
| + core.String format;
|
| +
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails();
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails.fromJson(core.Map _json) {
|
| + if (_json.containsKey("args")) {
|
| + args = _json["args"].map((value) => new ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetailsArgs.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("format")) {
|
| + format = _json["format"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (args != null) {
|
| + _json["args"] = args.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (format != null) {
|
| + _json["format"] = format;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs {
|
| + /**
|
| + * Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, or
|
| + * DURATION.
|
| + */
|
| + core.String type;
|
| +
|
| + /** Argument value, as a localized string. */
|
| + core.String value;
|
| +
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs();
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs.fromJson(core.Map _json) {
|
| + if (_json.containsKey("type")) {
|
| + type = _json["type"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (type != null) {
|
| + _json["type"] = type;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A format string that gives information about the URL, and a list of arguments
|
| + * for that format string.
|
| + */
|
| +class ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult {
|
| + /** List of arguments for the format string. */
|
| + core.List<ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs> args;
|
| +
|
| + /**
|
| + * A localized format string with $N placeholders, where N is the 1-indexed
|
| + * argument number, e.g. 'Minifying the resource at URL $1 can save $2 bytes'.
|
| + */
|
| + core.String format;
|
| +
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult();
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult.fromJson(core.Map _json) {
|
| + if (_json.containsKey("args")) {
|
| + args = _json["args"].map((value) => new ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResultArgs.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("format")) {
|
| + format = _json["format"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (args != null) {
|
| + _json["args"] = args.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (format != null) {
|
| + _json["format"] = format;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ResultFormattedResultsRuleResultsValueUrlBlocksUrls {
|
| + /**
|
| + * List of entries that provide additional details about a single URL.
|
| + * Optional.
|
| + */
|
| + core.List<ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails> details;
|
| +
|
| + /**
|
| + * A format string that gives information about the URL, and a list of
|
| + * arguments for that format string.
|
| + */
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult result;
|
| +
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksUrls();
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksUrls.fromJson(core.Map _json) {
|
| + if (_json.containsKey("details")) {
|
| + details = _json["details"].map((value) => new ResultFormattedResultsRuleResultsValueUrlBlocksUrlsDetails.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("result")) {
|
| + result = new ResultFormattedResultsRuleResultsValueUrlBlocksUrlsResult.fromJson(_json["result"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (details != null) {
|
| + _json["details"] = details.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (result != null) {
|
| + _json["result"] = (result).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ResultFormattedResultsRuleResultsValueUrlBlocks {
|
| + /** Heading to be displayed with the list of URLs. */
|
| + ResultFormattedResultsRuleResultsValueUrlBlocksHeader header;
|
| +
|
| + /**
|
| + * List of entries that provide information about URLs in the url block.
|
| + * Optional.
|
| + */
|
| + core.List<ResultFormattedResultsRuleResultsValueUrlBlocksUrls> urls;
|
| +
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocks();
|
| +
|
| + ResultFormattedResultsRuleResultsValueUrlBlocks.fromJson(core.Map _json) {
|
| + if (_json.containsKey("header")) {
|
| + header = new ResultFormattedResultsRuleResultsValueUrlBlocksHeader.fromJson(_json["header"]);
|
| + }
|
| + if (_json.containsKey("urls")) {
|
| + urls = _json["urls"].map((value) => new ResultFormattedResultsRuleResultsValueUrlBlocksUrls.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (header != null) {
|
| + _json["header"] = (header).toJson();
|
| + }
|
| + if (urls != null) {
|
| + _json["urls"] = urls.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * The enum-like identifier for this rule. For instance "EnableKeepAlive" or
|
| + * "AvoidCssImport". Not localized.
|
| + */
|
| +class ResultFormattedResultsRuleResultsValue {
|
| + /** Localized name of the rule, intended for presentation to a user. */
|
| + core.String localizedRuleName;
|
| +
|
| + /**
|
| + * The impact (unbounded floating point value) that implementing the
|
| + * suggestions for this rule would have on making the page faster. Impact is
|
| + * comparable between rules to determine which rule's suggestions would have a
|
| + * higher or lower impact on making a page faster. For instance, if enabling
|
| + * compression would save 1MB, while optimizing images would save 500kB, the
|
| + * enable compression rule would have 2x the impact of the image optimization
|
| + * rule, all other things being equal.
|
| + */
|
| + core.double ruleImpact;
|
| +
|
| + /**
|
| + * List of blocks of URLs. Each block may contain a heading and a list of
|
| + * URLs. Each URL may optionally include additional details.
|
| + */
|
| + core.List<ResultFormattedResultsRuleResultsValueUrlBlocks> urlBlocks;
|
| +
|
| +
|
| + ResultFormattedResultsRuleResultsValue();
|
| +
|
| + ResultFormattedResultsRuleResultsValue.fromJson(core.Map _json) {
|
| + if (_json.containsKey("localizedRuleName")) {
|
| + localizedRuleName = _json["localizedRuleName"];
|
| + }
|
| + if (_json.containsKey("ruleImpact")) {
|
| + ruleImpact = _json["ruleImpact"];
|
| + }
|
| + if (_json.containsKey("urlBlocks")) {
|
| + urlBlocks = _json["urlBlocks"].map((value) => new ResultFormattedResultsRuleResultsValueUrlBlocks.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (localizedRuleName != null) {
|
| + _json["localizedRuleName"] = localizedRuleName;
|
| + }
|
| + if (ruleImpact != null) {
|
| + _json["ruleImpact"] = ruleImpact;
|
| + }
|
| + if (urlBlocks != null) {
|
| + _json["urlBlocks"] = urlBlocks.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * Localized Page Speed results. Contains a ruleResults entry for each Page
|
| + * Speed rule instantiated and run by the server.
|
| + */
|
| +class ResultFormattedResults {
|
| + /** The locale of the formattedResults, e.g. "en_US". */
|
| + core.String locale;
|
| +
|
| + /**
|
| + * Dictionary of formatted rule results, with one entry for each Page Speed
|
| + * rule instantiated and run by the server.
|
| + */
|
| + core.Map<core.String, ResultFormattedResultsRuleResultsValue> ruleResults;
|
| +
|
| +
|
| + ResultFormattedResults();
|
| +
|
| + ResultFormattedResults.fromJson(core.Map _json) {
|
| + if (_json.containsKey("locale")) {
|
| + locale = _json["locale"];
|
| + }
|
| + if (_json.containsKey("ruleResults")) {
|
| + ruleResults = common_internal.mapMap(_json["ruleResults"], (item) => new ResultFormattedResultsRuleResultsValue.fromJson(item));
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (locale != null) {
|
| + _json["locale"] = locale;
|
| + }
|
| + if (ruleResults != null) {
|
| + _json["ruleResults"] = common_internal.mapMap(ruleResults, (item) => (item).toJson());
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * Summary statistics for the page, such as number of JavaScript bytes, number
|
| + * of HTML bytes, etc.
|
| + */
|
| +class ResultPageStats {
|
| + /** Number of uncompressed response bytes for CSS resources on the page. */
|
| + core.String cssResponseBytes;
|
| +
|
| + /** Number of response bytes for flash resources on the page. */
|
| + core.String flashResponseBytes;
|
| +
|
| + /**
|
| + * Number of uncompressed response bytes for the main HTML document and all
|
| + * iframes on the page.
|
| + */
|
| + core.String htmlResponseBytes;
|
| +
|
| + /** Number of response bytes for image resources on the page. */
|
| + core.String imageResponseBytes;
|
| +
|
| + /** Number of uncompressed response bytes for JS resources on the page. */
|
| + core.String javascriptResponseBytes;
|
| +
|
| + /** Number of CSS resources referenced by the page. */
|
| + core.int numberCssResources;
|
| +
|
| + /** Number of unique hosts referenced by the page. */
|
| + core.int numberHosts;
|
| +
|
| + /** Number of JavaScript resources referenced by the page. */
|
| + core.int numberJsResources;
|
| +
|
| + /** Number of HTTP resources loaded by the page. */
|
| + core.int numberResources;
|
| +
|
| + /** Number of static (i.e. cacheable) resources on the page. */
|
| + core.int numberStaticResources;
|
| +
|
| + /** Number of response bytes for other resources on the page. */
|
| + core.String otherResponseBytes;
|
| +
|
| + /**
|
| + * Number of uncompressed response bytes for text resources not covered by
|
| + * other statistics (i.e non-HTML, non-script, non-CSS resources) on the page.
|
| + */
|
| + core.String textResponseBytes;
|
| +
|
| + /** Total size of all request bytes sent by the page. */
|
| + core.String totalRequestBytes;
|
| +
|
| +
|
| + ResultPageStats();
|
| +
|
| + ResultPageStats.fromJson(core.Map _json) {
|
| + if (_json.containsKey("cssResponseBytes")) {
|
| + cssResponseBytes = _json["cssResponseBytes"];
|
| + }
|
| + if (_json.containsKey("flashResponseBytes")) {
|
| + flashResponseBytes = _json["flashResponseBytes"];
|
| + }
|
| + if (_json.containsKey("htmlResponseBytes")) {
|
| + htmlResponseBytes = _json["htmlResponseBytes"];
|
| + }
|
| + if (_json.containsKey("imageResponseBytes")) {
|
| + imageResponseBytes = _json["imageResponseBytes"];
|
| + }
|
| + if (_json.containsKey("javascriptResponseBytes")) {
|
| + javascriptResponseBytes = _json["javascriptResponseBytes"];
|
| + }
|
| + if (_json.containsKey("numberCssResources")) {
|
| + numberCssResources = _json["numberCssResources"];
|
| + }
|
| + if (_json.containsKey("numberHosts")) {
|
| + numberHosts = _json["numberHosts"];
|
| + }
|
| + if (_json.containsKey("numberJsResources")) {
|
| + numberJsResources = _json["numberJsResources"];
|
| + }
|
| + if (_json.containsKey("numberResources")) {
|
| + numberResources = _json["numberResources"];
|
| + }
|
| + if (_json.containsKey("numberStaticResources")) {
|
| + numberStaticResources = _json["numberStaticResources"];
|
| + }
|
| + if (_json.containsKey("otherResponseBytes")) {
|
| + otherResponseBytes = _json["otherResponseBytes"];
|
| + }
|
| + if (_json.containsKey("textResponseBytes")) {
|
| + textResponseBytes = _json["textResponseBytes"];
|
| + }
|
| + if (_json.containsKey("totalRequestBytes")) {
|
| + totalRequestBytes = _json["totalRequestBytes"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (cssResponseBytes != null) {
|
| + _json["cssResponseBytes"] = cssResponseBytes;
|
| + }
|
| + if (flashResponseBytes != null) {
|
| + _json["flashResponseBytes"] = flashResponseBytes;
|
| + }
|
| + if (htmlResponseBytes != null) {
|
| + _json["htmlResponseBytes"] = htmlResponseBytes;
|
| + }
|
| + if (imageResponseBytes != null) {
|
| + _json["imageResponseBytes"] = imageResponseBytes;
|
| + }
|
| + if (javascriptResponseBytes != null) {
|
| + _json["javascriptResponseBytes"] = javascriptResponseBytes;
|
| + }
|
| + if (numberCssResources != null) {
|
| + _json["numberCssResources"] = numberCssResources;
|
| + }
|
| + if (numberHosts != null) {
|
| + _json["numberHosts"] = numberHosts;
|
| + }
|
| + if (numberJsResources != null) {
|
| + _json["numberJsResources"] = numberJsResources;
|
| + }
|
| + if (numberResources != null) {
|
| + _json["numberResources"] = numberResources;
|
| + }
|
| + if (numberStaticResources != null) {
|
| + _json["numberStaticResources"] = numberStaticResources;
|
| + }
|
| + if (otherResponseBytes != null) {
|
| + _json["otherResponseBytes"] = otherResponseBytes;
|
| + }
|
| + if (textResponseBytes != null) {
|
| + _json["textResponseBytes"] = textResponseBytes;
|
| + }
|
| + if (totalRequestBytes != null) {
|
| + _json["totalRequestBytes"] = totalRequestBytes;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Base64 encoded screenshot of the page that was analyzed. */
|
| +class ResultScreenshot {
|
| + /** Image data base64 encoded. */
|
| + core.String data;
|
| +
|
| + core.List<core.int> get dataAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(data);
|
| + }
|
| +
|
| + void set dataAsBytes(core.List<core.int> _bytes) {
|
| + data = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| + /** Height of screenshot in pixels. */
|
| + core.int height;
|
| +
|
| + /** Mime type of image data. E.g. "image/jpeg". */
|
| + core.String mimeType;
|
| +
|
| + /** Width of screenshot in pixels. */
|
| + core.int width;
|
| +
|
| +
|
| + ResultScreenshot();
|
| +
|
| + ResultScreenshot.fromJson(core.Map _json) {
|
| + if (_json.containsKey("data")) {
|
| + data = _json["data"];
|
| + }
|
| + if (_json.containsKey("height")) {
|
| + height = _json["height"];
|
| + }
|
| + if (_json.containsKey("mime_type")) {
|
| + mimeType = _json["mime_type"];
|
| + }
|
| + if (_json.containsKey("width")) {
|
| + width = _json["width"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (data != null) {
|
| + _json["data"] = data;
|
| + }
|
| + if (height != null) {
|
| + _json["height"] = height;
|
| + }
|
| + if (mimeType != null) {
|
| + _json["mime_type"] = mimeType;
|
| + }
|
| + if (width != null) {
|
| + _json["width"] = width;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** The version of the Page Speed SDK used to generate these results. */
|
| +class ResultVersion {
|
| + /**
|
| + * The major version number of the Page Speed SDK used to generate these
|
| + * results.
|
| + */
|
| + core.int major;
|
| +
|
| + /**
|
| + * The minor version number of the Page Speed SDK used to generate these
|
| + * results.
|
| + */
|
| + core.int minor;
|
| +
|
| +
|
| + ResultVersion();
|
| +
|
| + ResultVersion.fromJson(core.Map _json) {
|
| + if (_json.containsKey("major")) {
|
| + major = _json["major"];
|
| + }
|
| + if (_json.containsKey("minor")) {
|
| + minor = _json["minor"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (major != null) {
|
| + _json["major"] = major;
|
| + }
|
| + if (minor != null) {
|
| + _json["minor"] = minor;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Result {
|
| + /**
|
| + * Localized Page Speed results. Contains a ruleResults entry for each Page
|
| + * Speed rule instantiated and run by the server.
|
| + */
|
| + ResultFormattedResults formattedResults;
|
| +
|
| + /**
|
| + * Canonicalized and final URL for the document, after following page
|
| + * redirects (if any).
|
| + */
|
| + core.String id;
|
| +
|
| + /**
|
| + * List of rules that were specified in the request, but which the server did
|
| + * not know how to instantiate.
|
| + */
|
| + core.List<core.String> invalidRules;
|
| +
|
| + /** Kind of result. */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * Summary statistics for the page, such as number of JavaScript bytes, number
|
| + * of HTML bytes, etc.
|
| + */
|
| + ResultPageStats pageStats;
|
| +
|
| + /**
|
| + * Response code for the document. 200 indicates a normal page load. 4xx/5xx
|
| + * indicates an error.
|
| + */
|
| + core.int responseCode;
|
| +
|
| + /**
|
| + * The Page Speed Score (0-100), which indicates how much faster a page could
|
| + * be. A high score indicates little room for improvement, while a lower score
|
| + * indicates more room for improvement.
|
| + */
|
| + core.int score;
|
| +
|
| + /** Base64 encoded screenshot of the page that was analyzed. */
|
| + ResultScreenshot screenshot;
|
| +
|
| + /** Title of the page, as displayed in the browser's title bar. */
|
| + core.String title;
|
| +
|
| + /** The version of the Page Speed SDK used to generate these results. */
|
| + ResultVersion version;
|
| +
|
| +
|
| + Result();
|
| +
|
| + Result.fromJson(core.Map _json) {
|
| + if (_json.containsKey("formattedResults")) {
|
| + formattedResults = new ResultFormattedResults.fromJson(_json["formattedResults"]);
|
| + }
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("invalidRules")) {
|
| + invalidRules = _json["invalidRules"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("pageStats")) {
|
| + pageStats = new ResultPageStats.fromJson(_json["pageStats"]);
|
| + }
|
| + if (_json.containsKey("responseCode")) {
|
| + responseCode = _json["responseCode"];
|
| + }
|
| + if (_json.containsKey("score")) {
|
| + score = _json["score"];
|
| + }
|
| + if (_json.containsKey("screenshot")) {
|
| + screenshot = new ResultScreenshot.fromJson(_json["screenshot"]);
|
| + }
|
| + if (_json.containsKey("title")) {
|
| + title = _json["title"];
|
| + }
|
| + if (_json.containsKey("version")) {
|
| + version = new ResultVersion.fromJson(_json["version"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (formattedResults != null) {
|
| + _json["formattedResults"] = (formattedResults).toJson();
|
| + }
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (invalidRules != null) {
|
| + _json["invalidRules"] = invalidRules;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (pageStats != null) {
|
| + _json["pageStats"] = (pageStats).toJson();
|
| + }
|
| + if (responseCode != null) {
|
| + _json["responseCode"] = responseCode;
|
| + }
|
| + if (score != null) {
|
| + _json["score"] = score;
|
| + }
|
| + if (screenshot != null) {
|
| + _json["screenshot"] = (screenshot).toJson();
|
| + }
|
| + if (title != null) {
|
| + _json["title"] = title;
|
| + }
|
| + if (version != null) {
|
| + _json["version"] = (version).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
|
|