public function parseMultipart($onPart = null, $onData = null, $onEndPart = null) { $_g = $this; if (!$this->isMultipart()) { return ufront_core_SurpriseTools::success(); } if ($this->_parsed) { throw new HException(ufront_web_HttpError::internalServerError("parseMultipart() has been called more than once.", null, _hx_anonymous(array("fileName" => "HttpRequest.hx", "lineNumber" => 93, "className" => "sys.ufront.web.context.HttpRequest", "methodName" => "parseMultipart")))); } $this->_parsed = true; if ($onPart === null) { $onPart = array(new _hx_lambda(array(&$_g, &$onData, &$onEndPart, &$onPart), "sys_ufront_web_context_HttpRequest_0"), 'execute'); } if ($onData === null) { $onData = array(new _hx_lambda(array(&$_g, &$onData, &$onEndPart, &$onPart), "sys_ufront_web_context_HttpRequest_1"), 'execute'); } if ($onEndPart === null) { $onEndPart = array(new _hx_lambda(array(&$_g, &$onData, &$onEndPart, &$onPart), "sys_ufront_web_context_HttpRequest_2"), 'execute'); } $this->post = new haxe_ds_StringMap(); $noParts = true; $isFile = false; $partName = null; $fileName = null; $currentContent = null; $callbackFutures = new _hx_array(array()); $errors = new _hx_array(array()); $processCallbackResult = array(new _hx_lambda(array(&$_g, &$callbackFutures, &$currentContent, &$errors, &$fileName, &$isFile, &$noParts, &$onData, &$onEndPart, &$onPart, &$partName), "sys_ufront_web_context_HttpRequest_3"), 'execute'); $doEndOfPart = array(new _hx_lambda(array(&$_g, &$callbackFutures, &$currentContent, &$errors, &$fileName, &$isFile, &$noParts, &$onData, &$onEndPart, &$onPart, &$partName, &$processCallbackResult), "sys_ufront_web_context_HttpRequest_4"), 'execute'); $doPart = array(new _hx_lambda(array(&$_g, &$callbackFutures, &$currentContent, &$doEndOfPart, &$errors, &$fileName, &$isFile, &$noParts, &$onData, &$onEndPart, &$onPart, &$partName, &$processCallbackResult), "sys_ufront_web_context_HttpRequest_5"), 'execute'); $doData = array(new _hx_lambda(array(&$_g, &$callbackFutures, &$currentContent, &$doEndOfPart, &$doPart, &$errors, &$fileName, &$isFile, &$noParts, &$onData, &$onEndPart, &$onPart, &$partName, &$processCallbackResult), "sys_ufront_web_context_HttpRequest_6"), 'execute'); try { sys_ufront_web_context__HttpRequest_WebOverride::parseMultipart($doPart, $doData); } catch (Exception $__hx__e) { $_ex_ = $__hx__e instanceof HException ? $__hx__e->e : $__hx__e; $e = $_ex_; $stack = haxe_CallStack::toString(haxe_CallStack::exceptionStack()); $err1 = "Failed to parse multipart data: " . Std::string($e) . "\n" . _hx_string_or_null($stack); $errors->push($err1); } if ($noParts === false) { call_user_func($doEndOfPart); } if ($callbackFutures->length > 0) { return tink_core__Future_Future_Impl_::flatMap(tink_core__Future_Future_Impl_::ofMany($callbackFutures, null), array(new _hx_lambda(array(&$_g, &$callbackFutures, &$currentContent, &$doData, &$doEndOfPart, &$doPart, &$e, &$errors, &$fileName, &$isFile, &$noParts, &$onData, &$onEndPart, &$onPart, &$partName, &$processCallbackResult), "sys_ufront_web_context_HttpRequest_7"), 'execute'), null); } else { $data5 = tink_core_Outcome::Success(tink_core_Noise::$Noise); return tink_core__Future_Future_Impl_::sync($data5); } }
static function _flatMap($f, $map) { return tink_core__Future_Future_Impl_::flatMap($f, $map, null); }