code: public static SafeCloseable withHttpHeader(AsciiString name, String value) {
          requireNonNull(name, "name");
          requireNonNull(value, "value");
          return withHttpHeaders(headers -> headers.set(name, value));
      }
docs: Sets the specified HTTP header in a thread-local variable so that the header is sent by the client call
  made from the current thread. Use the `try-with-resources` block with the returned
  {@link SafeCloseable} to unset the thread-local variable automatically:
  <pre>{@code
  import static com.linecorp.armeria.common.HttpHeaderNames.AUTHORIZATION;
  
  try (SafeCloseable ignored = withHttpHeader(AUTHORIZATION, myCredential)) {
  client.executeSomething(..);
  }
  }</pre>
  You can also nest the header manipulation:
  <pre>{@code
  import static com.linecorp.armeria.common.HttpHeaderNames.AUTHORIZATION;
  import static com.linecorp.armeria.common.HttpHeaderNames.USER_AGENT;
  
  try (SafeCloseable ignored = withHttpHeader(USER_AGENT, myAgent)) {
  for (String secret : secrets) {
  try (SafeCloseable ignored2 = withHttpHeader(AUTHORIZATION, secret)) {
  // Both USER_AGENT and AUTHORIZATION will be set.
  client.executeSomething(..);
  }
  }
  }
  }</pre>
  
  @see #withHttpHeaders(Function)