MCPcopy Create free account
hub / github.com/algolia/cli / GetCrawlerUser

Method GetCrawlerUser

api/dashboard/client.go:602–642  ·  view source on GitHub ↗

GetCrawlerUser gets the crawler API user data for the current authenticated user

(accessToken string)

Source from the content-addressed store, hash-verified

600
601// GetCrawlerUser gets the crawler API user data for the current authenticated user
602func (c *Client) GetCrawlerUser(accessToken string) (*DashboardCrawlerUserData, error) {
603 req, err := http.NewRequest(http.MethodGet, c.APIURL+"/1/crawler/user", nil)
604 if err != nil {
605 return nil, err
606 }
607
608 c.setAPIHeaders(req, accessToken)
609
610 resp, err := c.client.Do(req)
611 if err != nil {
612 return nil, err
613 }
614 defer resp.Body.Close()
615
616 if resp.StatusCode != http.StatusOK {
617 var errResp DashboardCrawlerErrorResponse
618 if err := json.NewDecoder(resp.Body).Decode(&errResp); err != nil {
619 return nil, fmt.Errorf("failed to parse crawler response: %w", err)
620 }
621
622 if len(errResp.Errors) == 0 {
623 return nil, fmt.Errorf("failed to get crawler user data: unknown crawler error")
624 }
625
626 crawlerError := errResp.Errors[0]
627
628 message := crawlerError.Title
629 if crawlerError.Detail != nil && *crawlerError.Detail != "" {
630 message = *crawlerError.Detail
631 }
632
633 return nil, fmt.Errorf("failed to get crawler user data: %s", message)
634 }
635
636 var userResp DashboardCrawlerUserResponse
637 if err := json.NewDecoder(resp.Body).Decode(&userResp); err != nil {
638 return nil, fmt.Errorf("failed to parse crawler response: %w", err)
639 }
640
641 return &userResp.Data, nil
642}
643
644func (c *Client) setAPIHeaders(req *http.Request, accessToken string) {
645 req.Header.Set("Authorization", "Bearer "+accessToken)

Calls 3

setAPIHeadersMethod · 0.95
CloseMethod · 0.65
ErrorfMethod · 0.65