Nextcloud PHP API (stable18)

OCSController extends ApiController

Base class to inherit your controllers from that are used for RESTful APIs

Tags
since
8.1.0

Table of Contents

$appName  : string
app name
$request  : IRequest
current request
$corsAllowedHeaders  : mixed
$corsMaxAge  : mixed
$corsMethods  : mixed
$ocsVersion  : int
$responders  : array
__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

Properties

$appName

app name

protected string $appName
Tags
since
7.0.0

$responders

private array $responders
Tags
since
7.0.0

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' ][, 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'

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
since
8.1.0
Return values
mixed —

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
throws
DomainException

if format does not match a registered formatter

since
9.1.0
Return values
Response —

getResponderByHTTPHeader()

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
since
7.0.0
since
9.1.0

Added default parameter

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
NoAdminRequired
NoCSRFRequired
PublicPage
since
7.0.0
Return values
mixed —

registerResponder()

Registers a formatter for a type

protected registerResponder(string $format, Closure $responder) : mixed
Parameters
$format : string
$responder : Closure
Tags
since
7.0.0
Return values
mixed —

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

Tags
since
8.1.0
Return values
BaseResponse —

Search results