/webui/google-api/contrib/apiPagespeedonlineService.php

https://bitbucket.org/sailsdigital/piler-remi · PHP · 482 lines · 406 code · 22 blank · 54 comment · 2 complexity · 8e247a6eb8f7ac1d44f6e8712acfff39 MD5 · raw file

  1. <?php
  2. /*
  3. * Copyright (c) 2010 Google Inc.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  6. * use this file except in compliance with the License. You may obtain a copy of
  7. * the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  13. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  14. * License for the specific language governing permissions and limitations under
  15. * the License.
  16. */
  17. require_once 'service/apiModel.php';
  18. require_once 'service/apiService.php';
  19. require_once 'service/apiServiceRequest.php';
  20. /**
  21. * The "pagespeedapi" collection of methods.
  22. * Typical usage is:
  23. * <code>
  24. * $pagespeedonlineService = new apiPagespeedonlineService(...);
  25. * $pagespeedapi = $pagespeedonlineService->pagespeedapi;
  26. * </code>
  27. */
  28. class PagespeedapiServiceResource extends apiServiceResource {
  29. /**
  30. * Runs Page Speed analysis on the page at the specified URL, and returns a Page Speed score, a list
  31. * of suggestions to make that page faster, and other information. (pagespeedapi.runpagespeed)
  32. *
  33. * @param string $url The URL to fetch and analyze
  34. * @param array $optParams Optional parameters. Valid optional parameters are listed below.
  35. *
  36. * @opt_param string locale The locale used to localize formatted results
  37. * @opt_param string rule A Page Speed rule to run; if none are given, all rules are run
  38. * @opt_param string strategy The analysis strategy to use
  39. * @return Result
  40. */
  41. public function runpagespeed($url, $optParams = array()) {
  42. $params = array('url' => $url);
  43. $params = array_merge($params, $optParams);
  44. $data = $this->__call('runpagespeed', array($params));
  45. if ($this->useObjects()) {
  46. return new Result($data);
  47. } else {
  48. return $data;
  49. }
  50. }
  51. }
  52. /**
  53. * Service definition for Pagespeedonline (v1).
  54. *
  55. * <p>
  56. * Lets you analyze the performance of a web page and get tailored suggestions to make that page faster.
  57. * </p>
  58. *
  59. * <p>
  60. * For more information about this service, see the
  61. * <a href="https://code.google.com/apis/pagespeedonline/v1/getting_started.html" target="_blank">API Documentation</a>
  62. * </p>
  63. *
  64. * @author Google, Inc.
  65. */
  66. class apiPagespeedonlineService extends apiService {
  67. public $pagespeedapi;
  68. /**
  69. * Constructs the internal representation of the Pagespeedonline service.
  70. *
  71. * @param apiClient apiClient
  72. */
  73. public function __construct(apiClient $apiClient) {
  74. $this->rpcPath = '/rpc';
  75. $this->restBasePath = '/pagespeedonline/v1/';
  76. $this->version = 'v1';
  77. $this->serviceName = 'pagespeedonline';
  78. $apiClient->addService($this->serviceName, $this->version);
  79. $this->pagespeedapi = new PagespeedapiServiceResource($this, $this->serviceName, 'pagespeedapi', json_decode('{"methods": {"runpagespeed": {"parameters": {"locale": {"type": "string", "location": "query"}, "url": {"required": true, "type": "string", "location": "query"}, "rule": {"repeated": true, "type": "string", "location": "query"}, "strategy": {"enum": ["desktop", "mobile"], "type": "string", "location": "query"}}, "id": "pagespeedonline.pagespeedapi.runpagespeed", "httpMethod": "GET", "path": "runPagespeed", "response": {"$ref": "Result"}}}}', true));
  80. }
  81. }
  82. class Result extends apiModel {
  83. public $kind;
  84. protected $__formattedResultsType = 'ResultFormattedResults';
  85. protected $__formattedResultsDataType = '';
  86. public $formattedResults;
  87. public $title;
  88. protected $__versionType = 'ResultVersion';
  89. protected $__versionDataType = '';
  90. public $version;
  91. public $score;
  92. public $responseCode;
  93. public $invalidRules;
  94. protected $__pageStatsType = 'ResultPageStats';
  95. protected $__pageStatsDataType = '';
  96. public $pageStats;
  97. public $id;
  98. public function setKind($kind) {
  99. $this->kind = $kind;
  100. }
  101. public function getKind() {
  102. return $this->kind;
  103. }
  104. public function setFormattedResults(ResultFormattedResults $formattedResults) {
  105. $this->formattedResults = $formattedResults;
  106. }
  107. public function getFormattedResults() {
  108. return $this->formattedResults;
  109. }
  110. public function setTitle($title) {
  111. $this->title = $title;
  112. }
  113. public function getTitle() {
  114. return $this->title;
  115. }
  116. public function setVersion(ResultVersion $version) {
  117. $this->version = $version;
  118. }
  119. public function getVersion() {
  120. return $this->version;
  121. }
  122. public function setScore($score) {
  123. $this->score = $score;
  124. }
  125. public function getScore() {
  126. return $this->score;
  127. }
  128. public function setResponseCode($responseCode) {
  129. $this->responseCode = $responseCode;
  130. }
  131. public function getResponseCode() {
  132. return $this->responseCode;
  133. }
  134. public function setInvalidRules(/* array(string) */ $invalidRules) {
  135. $this->assertIsArray($invalidRules, 'string', __METHOD__);
  136. $this->invalidRules = $invalidRules;
  137. }
  138. public function getInvalidRules() {
  139. return $this->invalidRules;
  140. }
  141. public function setPageStats(ResultPageStats $pageStats) {
  142. $this->pageStats = $pageStats;
  143. }
  144. public function getPageStats() {
  145. return $this->pageStats;
  146. }
  147. public function setId($id) {
  148. $this->id = $id;
  149. }
  150. public function getId() {
  151. return $this->id;
  152. }
  153. }
  154. class ResultFormattedResults extends apiModel {
  155. public $locale;
  156. protected $__ruleResultsType = 'ResultFormattedResultsRuleResults';
  157. protected $__ruleResultsDataType = 'map';
  158. public $ruleResults;
  159. public function setLocale($locale) {
  160. $this->locale = $locale;
  161. }
  162. public function getLocale() {
  163. return $this->locale;
  164. }
  165. public function setRuleResults(ResultFormattedResultsRuleResults $ruleResults) {
  166. $this->ruleResults = $ruleResults;
  167. }
  168. public function getRuleResults() {
  169. return $this->ruleResults;
  170. }
  171. }
  172. class ResultFormattedResultsRuleResults extends apiModel {
  173. public $localizedRuleName;
  174. protected $__urlBlocksType = 'ResultFormattedResultsRuleResultsUrlBlocks';
  175. protected $__urlBlocksDataType = 'array';
  176. public $urlBlocks;
  177. public $ruleScore;
  178. public $ruleImpact;
  179. public function setLocalizedRuleName($localizedRuleName) {
  180. $this->localizedRuleName = $localizedRuleName;
  181. }
  182. public function getLocalizedRuleName() {
  183. return $this->localizedRuleName;
  184. }
  185. public function setUrlBlocks(/* array(ResultFormattedResultsRuleResultsUrlBlocks) */ $urlBlocks) {
  186. $this->assertIsArray($urlBlocks, 'ResultFormattedResultsRuleResultsUrlBlocks', __METHOD__);
  187. $this->urlBlocks = $urlBlocks;
  188. }
  189. public function getUrlBlocks() {
  190. return $this->urlBlocks;
  191. }
  192. public function setRuleScore($ruleScore) {
  193. $this->ruleScore = $ruleScore;
  194. }
  195. public function getRuleScore() {
  196. return $this->ruleScore;
  197. }
  198. public function setRuleImpact($ruleImpact) {
  199. $this->ruleImpact = $ruleImpact;
  200. }
  201. public function getRuleImpact() {
  202. return $this->ruleImpact;
  203. }
  204. }
  205. class ResultFormattedResultsRuleResultsUrlBlocks extends apiModel {
  206. protected $__headerType = 'ResultFormattedResultsRuleResultsUrlBlocksHeader';
  207. protected $__headerDataType = '';
  208. public $header;
  209. protected $__urlsType = 'ResultFormattedResultsRuleResultsUrlBlocksUrls';
  210. protected $__urlsDataType = 'array';
  211. public $urls;
  212. public function setHeader(ResultFormattedResultsRuleResultsUrlBlocksHeader $header) {
  213. $this->header = $header;
  214. }
  215. public function getHeader() {
  216. return $this->header;
  217. }
  218. public function setUrls(/* array(ResultFormattedResultsRuleResultsUrlBlocksUrls) */ $urls) {
  219. $this->assertIsArray($urls, 'ResultFormattedResultsRuleResultsUrlBlocksUrls', __METHOD__);
  220. $this->urls = $urls;
  221. }
  222. public function getUrls() {
  223. return $this->urls;
  224. }
  225. }
  226. class ResultFormattedResultsRuleResultsUrlBlocksHeader extends apiModel {
  227. protected $__argsType = 'ResultFormattedResultsRuleResultsUrlBlocksHeaderArgs';
  228. protected $__argsDataType = 'array';
  229. public $args;
  230. public $format;
  231. public function setArgs(/* array(ResultFormattedResultsRuleResultsUrlBlocksHeaderArgs) */ $args) {
  232. $this->assertIsArray($args, 'ResultFormattedResultsRuleResultsUrlBlocksHeaderArgs', __METHOD__);
  233. $this->args = $args;
  234. }
  235. public function getArgs() {
  236. return $this->args;
  237. }
  238. public function setFormat($format) {
  239. $this->format = $format;
  240. }
  241. public function getFormat() {
  242. return $this->format;
  243. }
  244. }
  245. class ResultFormattedResultsRuleResultsUrlBlocksHeaderArgs extends apiModel {
  246. public $type;
  247. public $value;
  248. public function setType($type) {
  249. $this->type = $type;
  250. }
  251. public function getType() {
  252. return $this->type;
  253. }
  254. public function setValue($value) {
  255. $this->value = $value;
  256. }
  257. public function getValue() {
  258. return $this->value;
  259. }
  260. }
  261. class ResultFormattedResultsRuleResultsUrlBlocksUrls extends apiModel {
  262. protected $__detailsType = 'ResultFormattedResultsRuleResultsUrlBlocksUrlsDetails';
  263. protected $__detailsDataType = 'array';
  264. public $details;
  265. protected $__resultType = 'ResultFormattedResultsRuleResultsUrlBlocksUrlsResult';
  266. protected $__resultDataType = '';
  267. public $result;
  268. public function setDetails(/* array(ResultFormattedResultsRuleResultsUrlBlocksUrlsDetails) */ $details) {
  269. $this->assertIsArray($details, 'ResultFormattedResultsRuleResultsUrlBlocksUrlsDetails', __METHOD__);
  270. $this->details = $details;
  271. }
  272. public function getDetails() {
  273. return $this->details;
  274. }
  275. public function setResult(ResultFormattedResultsRuleResultsUrlBlocksUrlsResult $result) {
  276. $this->result = $result;
  277. }
  278. public function getResult() {
  279. return $this->result;
  280. }
  281. }
  282. class ResultFormattedResultsRuleResultsUrlBlocksUrlsDetails extends apiModel {
  283. protected $__argsType = 'ResultFormattedResultsRuleResultsUrlBlocksUrlsDetailsArgs';
  284. protected $__argsDataType = 'array';
  285. public $args;
  286. public $format;
  287. public function setArgs(/* array(ResultFormattedResultsRuleResultsUrlBlocksUrlsDetailsArgs) */ $args) {
  288. $this->assertIsArray($args, 'ResultFormattedResultsRuleResultsUrlBlocksUrlsDetailsArgs', __METHOD__);
  289. $this->args = $args;
  290. }
  291. public function getArgs() {
  292. return $this->args;
  293. }
  294. public function setFormat($format) {
  295. $this->format = $format;
  296. }
  297. public function getFormat() {
  298. return $this->format;
  299. }
  300. }
  301. class ResultFormattedResultsRuleResultsUrlBlocksUrlsDetailsArgs extends apiModel {
  302. public $type;
  303. public $value;
  304. public function setType($type) {
  305. $this->type = $type;
  306. }
  307. public function getType() {
  308. return $this->type;
  309. }
  310. public function setValue($value) {
  311. $this->value = $value;
  312. }
  313. public function getValue() {
  314. return $this->value;
  315. }
  316. }
  317. class ResultFormattedResultsRuleResultsUrlBlocksUrlsResult extends apiModel {
  318. protected $__argsType = 'ResultFormattedResultsRuleResultsUrlBlocksUrlsResultArgs';
  319. protected $__argsDataType = 'array';
  320. public $args;
  321. public $format;
  322. public function setArgs(/* array(ResultFormattedResultsRuleResultsUrlBlocksUrlsResultArgs) */ $args) {
  323. $this->assertIsArray($args, 'ResultFormattedResultsRuleResultsUrlBlocksUrlsResultArgs', __METHOD__);
  324. $this->args = $args;
  325. }
  326. public function getArgs() {
  327. return $this->args;
  328. }
  329. public function setFormat($format) {
  330. $this->format = $format;
  331. }
  332. public function getFormat() {
  333. return $this->format;
  334. }
  335. }
  336. class ResultFormattedResultsRuleResultsUrlBlocksUrlsResultArgs extends apiModel {
  337. public $type;
  338. public $value;
  339. public function setType($type) {
  340. $this->type = $type;
  341. }
  342. public function getType() {
  343. return $this->type;
  344. }
  345. public function setValue($value) {
  346. $this->value = $value;
  347. }
  348. public function getValue() {
  349. return $this->value;
  350. }
  351. }
  352. class ResultPageStats extends apiModel {
  353. public $otherResponseBytes;
  354. public $flashResponseBytes;
  355. public $totalRequestBytes;
  356. public $numberCssResources;
  357. public $numberResources;
  358. public $cssResponseBytes;
  359. public $javascriptResponseBytes;
  360. public $imageResponseBytes;
  361. public $numberHosts;
  362. public $numberStaticResources;
  363. public $htmlResponseBytes;
  364. public $numberJsResources;
  365. public $textResponseBytes;
  366. public function setOtherResponseBytes($otherResponseBytes) {
  367. $this->otherResponseBytes = $otherResponseBytes;
  368. }
  369. public function getOtherResponseBytes() {
  370. return $this->otherResponseBytes;
  371. }
  372. public function setFlashResponseBytes($flashResponseBytes) {
  373. $this->flashResponseBytes = $flashResponseBytes;
  374. }
  375. public function getFlashResponseBytes() {
  376. return $this->flashResponseBytes;
  377. }
  378. public function setTotalRequestBytes($totalRequestBytes) {
  379. $this->totalRequestBytes = $totalRequestBytes;
  380. }
  381. public function getTotalRequestBytes() {
  382. return $this->totalRequestBytes;
  383. }
  384. public function setNumberCssResources($numberCssResources) {
  385. $this->numberCssResources = $numberCssResources;
  386. }
  387. public function getNumberCssResources() {
  388. return $this->numberCssResources;
  389. }
  390. public function setNumberResources($numberResources) {
  391. $this->numberResources = $numberResources;
  392. }
  393. public function getNumberResources() {
  394. return $this->numberResources;
  395. }
  396. public function setCssResponseBytes($cssResponseBytes) {
  397. $this->cssResponseBytes = $cssResponseBytes;
  398. }
  399. public function getCssResponseBytes() {
  400. return $this->cssResponseBytes;
  401. }
  402. public function setJavascriptResponseBytes($javascriptResponseBytes) {
  403. $this->javascriptResponseBytes = $javascriptResponseBytes;
  404. }
  405. public function getJavascriptResponseBytes() {
  406. return $this->javascriptResponseBytes;
  407. }
  408. public function setImageResponseBytes($imageResponseBytes) {
  409. $this->imageResponseBytes = $imageResponseBytes;
  410. }
  411. public function getImageResponseBytes() {
  412. return $this->imageResponseBytes;
  413. }
  414. public function setNumberHosts($numberHosts) {
  415. $this->numberHosts = $numberHosts;
  416. }
  417. public function getNumberHosts() {
  418. return $this->numberHosts;
  419. }
  420. public function setNumberStaticResources($numberStaticResources) {
  421. $this->numberStaticResources = $numberStaticResources;
  422. }
  423. public function getNumberStaticResources() {
  424. return $this->numberStaticResources;
  425. }
  426. public function setHtmlResponseBytes($htmlResponseBytes) {
  427. $this->htmlResponseBytes = $htmlResponseBytes;
  428. }
  429. public function getHtmlResponseBytes() {
  430. return $this->htmlResponseBytes;
  431. }
  432. public function setNumberJsResources($numberJsResources) {
  433. $this->numberJsResources = $numberJsResources;
  434. }
  435. public function getNumberJsResources() {
  436. return $this->numberJsResources;
  437. }
  438. public function setTextResponseBytes($textResponseBytes) {
  439. $this->textResponseBytes = $textResponseBytes;
  440. }
  441. public function getTextResponseBytes() {
  442. return $this->textResponseBytes;
  443. }
  444. }
  445. class ResultVersion extends apiModel {
  446. public $major;
  447. public $minor;
  448. public function setMajor($major) {
  449. $this->major = $major;
  450. }
  451. public function getMajor() {
  452. return $this->major;
  453. }
  454. public function setMinor($minor) {
  455. $this->minor = $minor;
  456. }
  457. public function getMinor() {
  458. return $this->minor;
  459. }
  460. }