Nextcloud PHP API (stable19)

PublicShareController extends Controller

Base controller for public shares

It will verify if the user is properly authenticated to the share. If not a 404 is thrown by the PublicShareMiddleware.

Use this for example for a controller that is not to be called via a webbrowser directly. For example a PublicPreviewController. As this is not meant to be called by a user direclty.

To show an auth page extend the AuthPublicShareController

Tags
since
14.0.0

Table of Contents

$appName  : string
app name
$request  : IRequest
current request
$session  : ISession
$responders  : array
$token  : string
__construct()  : mixed
constructor of the controller
buildResponse()  : Response
Serializes and formats a response
getResponderByHTTPHeader()  : string
Parses an HTTP accept header and returns the supported responder type
getToken()  : string
Get the token for this request
isAuthenticated()  : bool
Check if a share is authenticated or not
isValidToken()  : bool
Is the provided token a valid token
setToken()  : mixed
Middleware set the token for the request
shareNotFound()  : mixed
Function called if the share is not found.
getPasswordHash()  : string
Get a hash of the password for this share
isPasswordProtected()  : bool
Is a share with this token password protected
registerResponder()  : mixed
Registers a formatter for a type

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, ISession $session) : mixed
Parameters
$appName : string

the name of the app

$request : IRequest

an instance of the request

$session : ISession
Tags
since
14.0.0
Return values
mixed

buildResponse()

Serializes and formats a response

public buildResponse(mixed $response[, string $format = 'json' ]) : Response
Parameters
$response : mixed

the value that was returned from a controller and is not a Response instance

$format : string = 'json'

the format for which a formatter has been registered

Tags
throws
DomainException

if format does not match a registered formatter

since
7.0.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

getToken()

Get the token for this request

public final getToken() : string
Tags
since
14.0.0
Return values
string

isAuthenticated()

Check if a share is authenticated or not

public final isAuthenticated() : bool
Tags
since
14.0.0
Return values
bool

isValidToken()

Is the provided token a valid token

public abstract isValidToken() : bool

This function is already called from the middleware directly after setting the token.

Tags
since
14.0.0
Return values
bool

setToken()

Middleware set the token for the request

public final setToken(string $token) : mixed
Parameters
$token : string
Tags
since
14.0.0
Return values
mixed

shareNotFound()

Function called if the share is not found.

public shareNotFound() : mixed

You can use this to do some logging for example

Tags
since
14.0.0
Return values
mixed

getPasswordHash()

Get a hash of the password for this share

protected abstract getPasswordHash() : string

To ensure access is blocked when the password to a share is changed we store a hash of the password for this token.

Tags
since
14.0.0
Return values
string

isPasswordProtected()

Is a share with this token password protected

protected abstract isPasswordProtected() : bool
Tags
since
14.0.0
Return values
bool

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

Search results