Aerys\BodyParser::initField PHP Method

initField() private method

private initField ( $field, $metadata = [] )
    private function initField($field, $metadata = [])
    {
        if ($this->inputVarCount++ == $this->maxInputVars || \strlen($field) > $this->maxFieldLen) {
            $this->fail();
            return null;
        }
        $this->curSizes[$field] = 0;
        $this->usedSize += \strlen($field);
        if ($this->usedSize > $this->size) {
            $this->fail();
            return null;
        }
        if (isset($this->bodyPromisors[$field])) {
            $key = key($this->bodyPromisors[$field]);
            list($dataPromisor, $metadataPromisor) = $this->bodyPromisors[$field][$key];
            $metadataPromisor->succeed($metadata);
            unset($this->bodyPromisors[$field]);
        } else {
            $dataPromisor = new Deferred();
            $this->bodies[$field][] = new FieldBody($dataPromisor->promise(), new Success($metadata));
        }
        foreach ($this->watchers as list($cb, $cbData)) {
            $cb($field, $cbData);
        }
        return $dataPromisor;
    }