| 227 | } |
| 228 | |
| 229 | StringRef TokenRef::toStringRef(Arena& arena) { |
| 230 | auto buf = fmt::memory_buffer(); |
| 231 | fmt::format_to(std::back_inserter(buf), "alg={} kid={}", getAlgorithmName(algorithm), keyId.toStringView()); |
| 232 | appendField(buf, "iss", issuer); |
| 233 | appendField(buf, "sub", subject); |
| 234 | appendField(buf, "aud", audience); |
| 235 | appendField(buf, "iat", issuedAtUnixTime); |
| 236 | appendField(buf, "exp", expiresAtUnixTime); |
| 237 | appendField(buf, "nbf", notBeforeUnixTime); |
| 238 | appendField(buf, "jti", tokenId); |
| 239 | appendField(buf, "tenants", tenants); |
| 240 | auto str = new (arena) uint8_t[buf.size()]; |
| 241 | memcpy(str, buf.data(), buf.size()); |
| 242 | return StringRef(str, buf.size()); |
| 243 | } |
| 244 | |
| 245 | template <class FieldType, class Writer> |
| 246 | void putField(Optional<FieldType> const& field, Writer& wr, const char* fieldName) { |
no test coverage detected