MCPcopy Index your code
hub / github.com/SMNETSTUDIO/Groq2API / GetSessionToken

Function GetSessionToken

pkg/groq/request.go:57–89  ·  view source on GitHub ↗
(client tls_client.HttpClient, api_key string, proxy string)

Source from the content-addressed store, hash-verified

55}
56
57func GetSessionToken(client tls_client.HttpClient, api_key string, proxy string) (groq.AuthenticateResponse, error) {
58 if proxy != "" {
59 client.SetProxy(proxy)
60 }
61 if api_key == "" {
62 return groq.AuthenticateResponse{}, errors.New("session token is empty")
63 }
64 authorization := generateRefreshToken(api_key)
65 header := baseHeader()
66 header.Set("authorization", "Basic "+authorization)
67 header.Set("x-sdk-client", "eyJldmVudF9pZCI6ImV2ZW50LWlkLWQ4M2IwNTI4LTllNjMtNDkxYi05OGM5LWUyZmJmODY4MWRlZiIsImFwcF9zZXNzaW9uX2lkIjoiYXBwLXNlc3Npb24taWQtNjRlNGI4ZTItOWM2NS00MDFlLWIyMjUtYjk4MWYxNGRjMTRjIiwicGVyc2lzdGVudF9pZCI6InBlcnNpc3RlbnQtaWQtOTNlZWYwNWUtYWE0OS00OWJhLThhNjktYWVjZTA3ZTZiM2NmIiwiY2xpZW50X3NlbnRfYXQiOiIyMDI0LTA0LTI2VDExOjM4OjU1Ljk0NVoiLCJ0aW1lem9uZSI6IkFzaWEvU2hhbmdoYWkiLCJzdHl0Y2hfdXNlcl9pZCI6InVzZXItbGl2ZS1kZDM4ODRiYS01M2YyLTRjNjEtYTI5Yi02NzEwNmExMDMxNTciLCJzdHl0Y2hfc2Vzc2lvbl9pZCI6InNlc3Npb24tbGl2ZS01ZjQ5NDViZS1kNTIyLTQyZWEtYTEzNC01MWE4YzM2OTBkN2UiLCJhcHAiOnsiaWRlbnRpZmllciI6ImNvbnNvbGUuZ3JvcS5jb20ifSwic2RrIjp7ImlkZW50aWZpZXIiOiJTdHl0Y2guanMgSmF2YXNjcmlwdCBTREsiLCJ2ZXJzaW9uIjoiNC42LjAifX0=")
68 header.Set("x-sdk-parent-host", "https://groq.com")
69
70 rawUrl := "https://web.stytch.com/sdk/v1/sessions/authenticate"
71 req, err := http.NewRequest(http.MethodPost, rawUrl, strings.NewReader(`{}`))
72 req.Header = header
73 if err != nil {
74 return groq.AuthenticateResponse{}, err
75 }
76 response, err := client.Do(req)
77 if err != nil {
78 return groq.AuthenticateResponse{}, err
79 }
80 if response.StatusCode != 200 {
81 return groq.AuthenticateResponse{}, errors.New("authenticate failed")
82 }
83 var result groq.AuthenticateResponse
84 err = json.NewDecoder(response.Body).Decode(&result)
85 if err != nil {
86 return groq.AuthenticateResponse{}, err
87 }
88 return result, nil
89}
90
91func generateRefreshToken(api_key string) string {
92 prefix := "public-token-live-26a89f59-09f8-48be-91ff-ce70e6000cb5:" + api_key

Callers

nothing calls this directly

Calls 4

generateRefreshTokenFunction · 0.85
baseHeaderFunction · 0.85
SetProxyMethod · 0.80
SetMethod · 0.80

Tested by

no test coverage detected