Correct two parameter strictness issues with file uploads
Summary: Fixes T12531. Strictness fallout from adding typechecking in D17616. - `chunkedHash` is not a real parameter, so the new typechecking was unhappy about it. - `mime-type` no longer allows `null`. Test Plan: - Ran `arc upload --conduit-uri ... 12MB.zero` on a 12MB file full of zeroes. - Before patch: badness, failure, fallback to one-shot uploads. - After patch: success and glory. Reviewers: chad Subscribers: joshuaspence Maniphest Tasks: T12531 Differential Revision: https://secure.phabricator.com/D17651
This commit is contained in:
		| @@ -61,15 +61,20 @@ final class FileUploadChunkConduitAPIMethod | |||||||
|       $mime_type = 'application/octet-stream'; |       $mime_type = 'application/octet-stream'; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     $params = array( | ||||||
|  |       'name' => $file->getMonogram().'.chunk-'.$chunk->getID(), | ||||||
|  |       'viewPolicy' => PhabricatorPolicies::POLICY_NOONE, | ||||||
|  |     ); | ||||||
|  |  | ||||||
|  |     if ($mime_type !== null) { | ||||||
|  |       $params['mime-type'] = 'application/octet-stream'; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     // NOTE: These files have a view policy which prevents normal access. They |     // NOTE: These files have a view policy which prevents normal access. They | ||||||
|     // are only accessed through the storage engine. |     // are only accessed through the storage engine. | ||||||
|     $chunk_data = PhabricatorFile::newFromFileData( |     $chunk_data = PhabricatorFile::newFromFileData( | ||||||
|       $data, |       $data, | ||||||
|       array( |       $params); | ||||||
|         'name' => $file->getMonogram().'.chunk-'.$chunk->getID(), |  | ||||||
|         'viewPolicy' => PhabricatorPolicies::POLICY_NOONE, |  | ||||||
|         'mime-type' => $mime_type, |  | ||||||
|       )); |  | ||||||
|  |  | ||||||
|     $chunk->setDataFilePHID($chunk_data->getPHID())->save(); |     $chunk->setDataFilePHID($chunk_data->getPHID())->save(); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -251,6 +251,11 @@ final class PhabricatorFile extends PhabricatorFileDAO | |||||||
|     $file->setMimeType('application/octet-stream'); |     $file->setMimeType('application/octet-stream'); | ||||||
|  |  | ||||||
|     $chunked_hash = idx($params, 'chunkedHash'); |     $chunked_hash = idx($params, 'chunkedHash'); | ||||||
|  |  | ||||||
|  |     // Get rid of this parameter now; we aren't passing it any further down | ||||||
|  |     // the stack. | ||||||
|  |     unset($params['chunkedHash']); | ||||||
|  |  | ||||||
|     if ($chunked_hash) { |     if ($chunked_hash) { | ||||||
|       $file->setContentHash($chunked_hash); |       $file->setContentHash($chunked_hash); | ||||||
|     } else { |     } else { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 epriestley
					epriestley