setKey($key); } if (isset($value)) { $this->setValue($value); } } /** * Add the key on a Header object * * @param string $key Header key * * @throws \SendGrid\Mail\TypeException */ public function setKey($key) { Assert::string($key, 'key'); $this->key = $key; } /** * Retrieve the key from a Header object * * @return string */ public function getKey() { return $this->key; } /** * Add the value on a Header object * * @param string $value Header value * * @throws \SendGrid\Mail\TypeException */ public function setValue($value) { Assert::string($value, 'value'); $this->value = $value; } /** * Retrieve the value from a Header object * * @return string */ public function getValue() { return $this->value; } /** * Return an array representing a Header object for the Twilio SendGrid API * * @return null|array */ public function jsonSerialize() { return array_filter( [ 'key' => $this->getKey(), 'value' => $this->getValue() ], function ($value) { return $value !== null; } ) ?: null; } }