code: def create_token_response(self, uri, http_method='GET', body=None,
                                headers=None, credentials=None, grant_type_for_scope=None,
                                claims=None):
          
          request = Request(
              uri, http_method=http_method, body=body, headers=headers)
  
          # 'scope' is an allowed Token Request param in both the "Resource Owner Password Credentials Grant"
          # and "Client Credentials Grant" flows
          # https://tools.ietf.org/html/rfc6749#section-4.3.2
          # https://tools.ietf.org/html/rfc6749#section-4.4.2
          request.scopes = utils.scope_to_list(request.scope)
  
          request.extra_credentials = credentials
          if grant_type_for_scope:
              request.grant_type = grant_type_for_scope
  
          # OpenID Connect claims, if provided.  The server using oauthlib might choose
          # to implement the claims parameter of the Authorization Request.  In this case
          # it should retrieve those claims and pass them via the claims argument here,
          # as a dict.
          if claims:
              request.claims = claims
  
          grant_type_handler = self.grant_types.get(request.grant_type,
                                                    self.default_grant_type_handler)
          log.debug('Dispatching grant_type %s request to %r.',
                    request.grant_type, grant_type_handler)
          return grant_type_handler.create_token_response(
              request, self.default_token_type)
docs: Extract grant_type and route to the designated handler.