}
public function execute() {
+ if ( !$this->getUser()->isLoggedIn() ) {
+ $this->dieWithError( 'apierror-mustbeloggedin-uploadstash', 'notloggedin' );
+ }
+
$params = $this->extractRequestParams();
$modulePrefix = $this->getModulePrefix();
$result = $this->getResult();
- if ( !$params['filekey'] && !$params['sessionkey'] ) {
- $this->dieUsage( 'One of filekey or sessionkey must be supplied', 'nofilekey' );
- }
+ $this->requireAtLeastOneParameter( $params, 'filekey', 'sessionkey' );
// Alias sessionkey to filekey, but give an existing filekey precedence.
if ( !$params['filekey'] && $params['sessionkey'] ) {
}
// @todo Update exception handling here to understand current getFile exceptions
} catch ( UploadStashFileNotFoundException $e ) {
- $this->dieUsage( 'File not found: ' . $e->getMessage(), 'invalidsessiondata' );
+ $this->dieWithException( $e, [ 'wrap' => 'apierror-stashedfilenotfound' ] );
} catch ( UploadStashBadPathException $e ) {
- $this->dieUsage( 'Bad path: ' . $e->getMessage(), 'invalidsessiondata' );
+ $this->dieWithException( $e, [ 'wrap' => 'apierror-stashpathinvalid' ] );
}
}