MCPcopy Create free account
hub / github.com/cloudbase/garm / Refresh

Method Refresh

util/github/scalesets/message_sessions.go:113–146  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

111}
112
113func (m *MessageSession) Refresh(ctx context.Context) (err error) {
114 m.ssCli.recordOperation("RefreshMessageSession")
115 defer func() {
116 if err != nil {
117 m.ssCli.recordFailedOperation("RefreshMessageSession")
118 }
119 }()
120
121 slog.DebugContext(ctx, "refreshing message session token", "session_id", m.session.SessionID.String())
122 m.mux.Lock()
123 defer m.mux.Unlock()
124
125 relPath, err := m.SessionsRelativeURL()
126 if err != nil {
127 return fmt.Errorf("failed to get session URL: %w", err)
128 }
129 req, err := m.ssCli.newActionsRequest(ctx, http.MethodPatch, relPath, nil)
130 if err != nil {
131 return fmt.Errorf("failed to create message delete request: %w", err)
132 }
133 resp, err := m.ssCli.Do(req)
134 if err != nil {
135 return fmt.Errorf("failed to delete message session: %w", err)
136 }
137 defer resp.Body.Close()
138
139 var refreshedSession params.RunnerScaleSetSession
140 if err := json.NewDecoder(resp.Body).Decode(&refreshedSession); err != nil {
141 return fmt.Errorf("failed to decode response: %w", err)
142 }
143 slog.DebugContext(ctx, "refreshed message session token")
144 m.session = &refreshedSession
145 return nil
146}
147
148func (m *MessageSession) maybeRefreshToken(ctx context.Context) error {
149 if m.session == nil {

Callers 1

maybeRefreshTokenMethod · 0.95

Calls 9

SessionsRelativeURLMethod · 0.95
recordOperationMethod · 0.80
recordFailedOperationMethod · 0.80
newActionsRequestMethod · 0.80
DoMethod · 0.80
LockMethod · 0.65
UnlockMethod · 0.65
CloseMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected