/** Processes the request and returns a request object (or false). */ function parseRequest($payload) { $request = new ggRESTRequest(); if ($request->decodeStream($payload)) { $this->ResponseType = $request->responseType(); $this->JsonpCallback = $request->jsonpCallback(); return $request; } else { $this->ResponseType = ''; return false; } }
/** * NB: this assumes we're sending a ggRESTRequest * @param ggRESTRequest $request * @return ggRESTResponse * @todo do not error if we're sending a plain request? (test if methods exist) */ function send($request) { if ($this->Verb != '') { $request->setMethod($this->Verb); } // use strict comparison, so that setting it to '' by the end user will work if ($this->NameVar !== null) { $request->setNameVar($this->NameVar); } if ($this->ResponseType !== null) { $request->setResponseType($this->ResponseType); } if ($this->RequestType !== null) { $request->setContentType($this->RequestType); } if ($this->Accept !== null) { $request->setAccept($this->Accept); } if (count($this->RequestHeaders)) { foreach ($this->RequestHeaders as $name => $value) { $request->setExtraHeader($name, $value); } } return parent::send($request); }
<?php /** * WS debugger: top frame * * @author G. Giunta * @copyright (C) 2010-2016 G. Giunta * @license code licensed under the GPL License: see LICENSE file * * @todo add support for more options, such as ntlm auth to proxy, or request charset encoding * @todo switch params for http compression from 0,1,2 to values to be used directly */ include dirname(__FILE__) . "/common.php"; if ($params['action'] == '') { $params['action'] = 'list'; } $tpl = ggeZWebservices::eZTemplateFactory(); $tpl->setVariable('params', $params); $tpl->setVariable('known_req_content_types', ggRESTRequest::knownContentTypes()); $tpl->setVariable('known_resp_content_types', ggRESTResponse::knownContentTypes()); $Result['content'] = $tpl->fetch("design:webservices/debugger/controller.tpl"); $Result['pagelayout'] = 'debugger_pagelayout.tpl';