OCSController
extends ApiController
in package
Base class to inherit your controllers from that are used for RESTful APIs
Tags
Table of Contents
Constants
- RESPOND_NOT_FOUND = 998
- RESPOND_SERVER_ERROR = 996
- RESPOND_UNAUTHORISED = 997
- RESPOND_UNKNOWN_ERROR = 999
Properties
- $appName : string
- app name
- $request : IRequest
- current request
- $corsAllowedHeaders : mixed
- $corsMaxAge : mixed
- $corsMethods : mixed
- $ocsVersion : int
- $responders : array<string|int, mixed>
Methods
- __construct() : mixed
- constructor of the controller
- buildResponse() : Response
- Since the OCS endpoints default to XML we need to find out the format again
- getResponderByHTTPHeader() : string
- Parses an HTTP accept header and returns the supported responder type
- preflightedCors() : mixed
- This method implements a preflighted cors response for you that you can link to for the options request
- registerResponder() : mixed
- Registers a formatter for a type
- buildOCSResponse() : BaseResponse
- Unwrap data and build ocs response
Constants
RESPOND_NOT_FOUND
public
mixed
RESPOND_NOT_FOUND
= 998
Tags
RESPOND_SERVER_ERROR
public
mixed
RESPOND_SERVER_ERROR
= 996
Tags
RESPOND_UNAUTHORISED
public
mixed
RESPOND_UNAUTHORISED
= 997
Tags
RESPOND_UNKNOWN_ERROR
public
mixed
RESPOND_UNKNOWN_ERROR
= 999
Tags
Properties
$appName
app name
protected
string
$appName
Tags
$request
current request
protected
IRequest
$request
Tags
$corsAllowedHeaders
private
mixed
$corsAllowedHeaders
$corsMaxAge
private
mixed
$corsMaxAge
$corsMethods
private
mixed
$corsMethods
$ocsVersion
private
int
$ocsVersion
$responders
private
array<string|int, mixed>
$responders
Tags
Methods
__construct()
constructor of the controller
public
__construct(string $appName, IRequest $request[, string $corsMethods = 'PUT, POST, GET, DELETE, PATCH' ][, string $corsAllowedHeaders = 'Authorization, Content-Type, Accept, OCS-APIRequest' ][, int $corsMaxAge = 1728000 ]) : mixed
Parameters
- $appName : string
-
the name of the app
- $request : IRequest
-
an instance of the request
- $corsMethods : string = 'PUT, POST, GET, DELETE, PATCH'
-
comma separated string of HTTP verbs which should be allowed for websites or webapps when calling your API, defaults to 'PUT, POST, GET, DELETE, PATCH'
- $corsAllowedHeaders : string = 'Authorization, Content-Type, Accept, OCS-APIRequest'
-
comma separated string of HTTP headers which should be allowed for websites or webapps when calling your API, defaults to 'Authorization, Content-Type, Accept'
- $corsMaxAge : int = 1728000
-
number in seconds how long a preflighted OPTIONS request should be cached, defaults to 1728000 seconds
Tags
buildResponse()
Since the OCS endpoints default to XML we need to find out the format again
public
buildResponse(mixed $response[, string $format = 'xml' ]) : Response
Parameters
- $response : mixed
-
the value that was returned from a controller and is not a Response instance
- $format : string = 'xml'
-
the format for which a formatter has been registered
Tags
Return values
ResponsegetResponderByHTTPHeader()
Parses an HTTP accept header and returns the supported responder type
public
getResponderByHTTPHeader(string $acceptHeader[, string $default = 'json' ]) : string
Parameters
- $acceptHeader : string
- $default : string = 'json'
Tags
Return values
string —the responder type
preflightedCors()
This method implements a preflighted cors response for you that you can link to for the options request
public
preflightedCors() : mixed
Tags
Attributes
- #[PublicPage]
registerResponder()
Registers a formatter for a type
protected
registerResponder(string $format, Closure $responder) : mixed
Parameters
- $format : string
- $responder : Closure
Tags
buildOCSResponse()
Unwrap data and build ocs response
private
buildOCSResponse(string $format, DataResponse $data) : BaseResponse
Parameters
- $format : string
-
json or xml
- $data : DataResponse
-
the data which should be transformed