chenhg5/cc-connect · error

weibo: token request: %w

Error message

weibo: token request: %w

What it means

Transport-level failure of the token-refresh POST to token_endpoint: http.DefaultClient.Do could not complete the request — DNS resolution failure, connection refused/reset, TLS handshake error, or timeout. The credentials were never evaluated; nothing was received from the server.

Source

Thrown at platform/weibo/weibo.go:167

func (p *Platform) refreshToken() (string, error) {
	p.tokenMu.Lock()
	defer p.tokenMu.Unlock()

	if p.token != "" && time.Now().Before(p.tokenExpiry.Add(-tokenRenewBuf)) {
		return p.token, nil
	}

	body := fmt.Sprintf(`{"app_id":"%s","app_secret":"%s"}`, p.appID, p.appSecret)
	req, err := http.NewRequest("POST", p.tokenEndpoint, strings.NewReader(body))
	if err != nil {
		return "", fmt.Errorf("weibo: build token request: %w", err)
	}
	req.Header.Set("Content-Type", "application/json")

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		return "", fmt.Errorf("weibo: token request: %w", err)
	}
	defer resp.Body.Close()

	raw, err := io.ReadAll(resp.Body)
	if err != nil {
		return "", fmt.Errorf("weibo: read token response: %w", err)
	}

	if resp.StatusCode != http.StatusOK {
		return "", fmt.Errorf("weibo: token HTTP %d: %s", resp.StatusCode, string(raw))
	}

	var tr tokenResponse
	if err := json.Unmarshal(raw, &tr); err != nil {
		return "", fmt.Errorf("weibo: parse token response: %w", err)
	}
	if tr.Data.Token == "" {
		return "", fmt.Errorf("weibo: empty token in response: %s", string(raw))

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Retry the refresh with backoff; the existing token (if any) keeps serving until expiry minus tokenRenewBuf
  2. Check network/proxy/firewall access to the token endpoint host
  3. Use a configured http.Client with sane timeouts instead of DefaultClient for hard guarantees
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at platform/weibo/weibo.go:167 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of chenhg5/cc-connect@4000b2338a (2026-09-06). Data as JSON: /api/errors/55110da3e24df238. Report an issue: GitHub.