| 257 | } |
| 258 | |
| 259 | bool |
| 260 | HttpHeader::setKeyTime(char const *const keystr, int const keylen, time_t const timeval) |
| 261 | { |
| 262 | if (!isValid()) { |
| 263 | return false; |
| 264 | } |
| 265 | |
| 266 | bool status(false); |
| 267 | |
| 268 | TSMLoc locfield(TSMimeHdrFieldFind(m_buffer, m_lochdr, keystr, keylen)); |
| 269 | |
| 270 | if (nullptr == locfield) { |
| 271 | DEBUG_LOG("Creating header %.*s", keylen, keystr); |
| 272 | TSMimeHdrFieldCreateNamed(m_buffer, m_lochdr, keystr, keylen, &locfield); |
| 273 | } |
| 274 | |
| 275 | if (nullptr != locfield) { |
| 276 | if (TS_SUCCESS == TSMimeHdrFieldValueDateSet(m_buffer, m_lochdr, locfield, timeval)) { |
| 277 | if (TS_SUCCESS == TSMimeHdrFieldAppend(m_buffer, m_lochdr, locfield)) { |
| 278 | status = true; |
| 279 | DEBUG_LOG("Set header %.*s to %jd", keylen, keystr, static_cast<intmax_t>(timeval)); |
| 280 | } |
| 281 | } |
| 282 | TSHandleMLocRelease(m_buffer, m_lochdr, locfield); |
| 283 | } |
| 284 | |
| 285 | return status; |
| 286 | } |
| 287 | |
| 288 | std::string |
| 289 | HttpHeader::toString() const |
no test coverage detected