class_docstr: Helper class with a platform abstraction for GitHub-like services
      
class_docstr_tok: ["Helper","class","with","a","platform","abstraction","for","GitHub-like","services"]
code: def _set_request_headers(
      self, credential_name, auth_info, require_token
  ):
      if credential_name is None:
          credential_name = urlparse(self.api_url).netloc
  
      try:
          self.auth = Token(credential_name)(instructions=auth_info)[
              "token"
          ]
      except Exception as e:
          lgr.debug("Token retrieval failed: %s", e)
          lgr.warning(
              "Cannot determine authorization token for %s",
              credential_name,
          )
          if require_token:
              raise ValueError(
                  f"Authorization required for {self.fullname}, "
                  f"cannot find token for a credential {credential_name}."
              )
          else:
              lgr.warning(
                  "No token found for credential '%s'", credential_name
              )
              self.auth = "NO-TOKEN-AVAILABLE"
  
      self.request_headers = {
          "user-agent": DEFAULT_USER_AGENT,
          "authorization": f"token {self.auth}",
      }
  
imports: import logging
  import re
  from urllib.parse import urljoin, urlparse
  import requests
  from datalad import cfg
  from datalad.distribution.dataset import EnsureDataset, require_dataset
  from datalad.downloaders.credentials import Token
  from datalad.downloaders.http import DEFAULT_USER_AGENT
  from datalad.interface.common_opts import publish_depends, recursion_flag, recursion_limit
  from datalad.interface.results import get_status_dict
  from datalad.support.constraints import EnsureChoice, EnsureNone, EnsureStr
  from datalad.support.param import Parameter
  from datalad.ui import ui
  from datalad.utils import todo_interface_for_extensions
label_desc: Use image node_id 3 for calling the _GitHubLike obj's underlying member method code with example usage: obj._set_request_headers(credential_name, auth_info, require_token) without return types