diff --git a/builder/rpc/csgbot_svc_client.go b/builder/rpc/csgbot_svc_client.go index b0778dbc3..221bd1044 100644 --- a/builder/rpc/csgbot_svc_client.go +++ b/builder/rpc/csgbot_svc_client.go @@ -139,6 +139,12 @@ type CsgbotSvcHttpClientImpl struct { hc *HttpClient } +func setCSGBotUserHeaders(hreq *http.Request, userUUID string, username string, token string) { + hreq.Header.Set(types.CSGBotHeaderUserUUID, userUUID) + hreq.Header.Set(types.CSGBotHeaderUserName, username) + hreq.Header.Set(types.CSGBotHeaderUserToken, token) +} + func NewCsgbotSvcHttpClient(endpoint string, opts ...RequestOption) CsgbotSvcClient { return &CsgbotSvcHttpClientImpl{ hc: NewHttpClient(endpoint, opts...), @@ -158,9 +164,7 @@ func (c *CsgbotSvcHttpClientImpl) DeleteWorkspaceFiles(ctx context.Context, user return errorx.InternalServerError(err, rpcErrorCtx) } hreq.Header.Set("Content-Type", "application/json") - hreq.Header.Set("user_uuid", userUUID) - hreq.Header.Set("user_name", username) - hreq.Header.Set("user_token", token) + setCSGBotUserHeaders(hreq, userUUID, username, token) hresp, err := c.hc.Do(hreq) if err != nil { @@ -200,9 +204,7 @@ func (c *CsgbotSvcHttpClientImpl) UpdateWorkspaceFiles(ctx context.Context, user } hreq.Header.Set("Content-Type", "application/json") - hreq.Header.Set("user_uuid", userUUID) - hreq.Header.Set("user_name", username) - hreq.Header.Set("user_token", token) + setCSGBotUserHeaders(hreq, userUUID, username, token) hresp, err := c.hc.Do(hreq) if err != nil { @@ -241,9 +243,7 @@ func (c *CsgbotSvcHttpClientImpl) CreateKnowledgeBase(ctx context.Context, userU return nil, errorx.InternalServerError(err, rpcErrorCtx) } hreq.Header.Set("Content-Type", "application/json") - hreq.Header.Set("user_uuid", userUUID) - hreq.Header.Set("user_name", username) - hreq.Header.Set("user_token", token) + setCSGBotUserHeaders(hreq, userUUID, username, token) hresp, err := c.hc.Do(hreq) if err != nil { @@ -293,9 +293,7 @@ func (c *CsgbotSvcHttpClientImpl) DeleteKnowledgeBase(ctx context.Context, userU } hreq.Header.Set("Content-Type", "application/json") - hreq.Header.Set("user_uuid", userUUID) - hreq.Header.Set("user_name", username) - hreq.Header.Set("user_token", token) + setCSGBotUserHeaders(hreq, userUUID, username, token) hresp, err := c.hc.Do(hreq) if err != nil { @@ -361,9 +359,7 @@ func (c *CsgbotSvcHttpClientImpl) UpdateKnowledgeBase(ctx context.Context, userU return errorx.InternalServerError(err, rpcErrorCtx) } hreq.Header.Set("Content-Type", "application/json") - hreq.Header.Set("user_uuid", userUUID) - hreq.Header.Set("user_name", username) - hreq.Header.Set("user_token", token) + setCSGBotUserHeaders(hreq, userUUID, username, token) hresp, err := c.hc.Do(hreq) if err != nil { @@ -431,9 +427,7 @@ func (c *CsgbotSvcHttpClientImpl) doStreamChatRequest(ctx context.Context, path, hreq.Header.Set("Content-Type", "application/json") hreq.Header.Set(types.CSGBotHeaderRequestID, uuid.New().String()) - hreq.Header.Set(types.CSGBotHeaderUserUUID, userUUID) - hreq.Header.Set(types.CSGBotHeaderUserName, username) - hreq.Header.Set(types.CSGBotHeaderUserToken, token) + setCSGBotUserHeaders(hreq, userUUID, username, token) if stream { hreq.Header.Set("Accept", "text/event-stream") } @@ -480,9 +474,7 @@ func (c *CsgbotSvcHttpClientImpl) CreateOpenClaw(ctx context.Context, userUUID, } hreq.Header.Set("Content-Type", "application/json") - hreq.Header.Set(types.CSGBotHeaderUserUUID, userUUID) - hreq.Header.Set(types.CSGBotHeaderUserName, username) - hreq.Header.Set(types.CSGBotHeaderUserToken, token) + setCSGBotUserHeaders(hreq, userUUID, username, token) hresp, err := c.hc.Do(hreq) if err != nil { @@ -526,9 +518,7 @@ func (c *CsgbotSvcHttpClientImpl) DeleteOpenClaw(ctx context.Context, userUUID, } hreq.Header.Set("Content-Type", "application/json") - hreq.Header.Set(types.CSGBotHeaderUserUUID, userUUID) - hreq.Header.Set(types.CSGBotHeaderUserName, username) - hreq.Header.Set(types.CSGBotHeaderUserToken, token) + setCSGBotUserHeaders(hreq, userUUID, username, token) hresp, err := c.hc.Do(hreq) if err != nil { diff --git a/builder/rpc/csgbot_svc_client_test.go b/builder/rpc/csgbot_svc_client_test.go index fde3ec62e..22f3bf600 100644 --- a/builder/rpc/csgbot_svc_client_test.go +++ b/builder/rpc/csgbot_svc_client_test.go @@ -43,9 +43,9 @@ func TestDeleteWorkspaceFiles_Success(t *testing.T) { // Verify headers assert.Equal(t, "application/json", r.Header.Get("Content-Type")) - assert.Equal(t, userUUID, r.Header.Get("user_uuid")) - assert.Equal(t, username, r.Header.Get("user_name")) - assert.Equal(t, token, r.Header.Get("user_token")) + assert.Equal(t, userUUID, r.Header.Get(types.CSGBotHeaderUserUUID)) + assert.Equal(t, username, r.Header.Get(types.CSGBotHeaderUserName)) + assert.Equal(t, token, r.Header.Get(types.CSGBotHeaderUserToken)) // Return success w.WriteHeader(http.StatusOK) @@ -94,9 +94,9 @@ func TestUpdateWorkspaceFiles_Success(t *testing.T) { assert.Equal(t, http.MethodPost, r.Method) assert.Equal(t, "application/json", r.Header.Get("Content-Type")) - assert.Equal(t, userUUID, r.Header.Get("user_uuid")) - assert.Equal(t, username, r.Header.Get("user_name")) - assert.Equal(t, token, r.Header.Get("user_token")) + assert.Equal(t, userUUID, r.Header.Get(types.CSGBotHeaderUserUUID)) + assert.Equal(t, username, r.Header.Get(types.CSGBotHeaderUserName)) + assert.Equal(t, token, r.Header.Get(types.CSGBotHeaderUserToken)) var req UpdateWorkspaceFilesRequest err := json.NewDecoder(r.Body).Decode(&req) @@ -175,9 +175,9 @@ func TestCreateKnowledgeBase_Success(t *testing.T) { // Verify headers assert.Equal(t, "application/json", r.Header.Get("Content-Type")) - assert.Equal(t, userUUID, r.Header.Get("user_uuid")) - assert.Equal(t, username, r.Header.Get("user_name")) - assert.Equal(t, token, r.Header.Get("user_token")) + assert.Equal(t, userUUID, r.Header.Get(types.CSGBotHeaderUserUUID)) + assert.Equal(t, username, r.Header.Get(types.CSGBotHeaderUserName)) + assert.Equal(t, token, r.Header.Get(types.CSGBotHeaderUserToken)) // Return success with response w.Header().Set("Content-Type", "application/json") @@ -245,9 +245,9 @@ func TestCreateKnowledgeBase_DescriptionIsEmpty(t *testing.T) { // Verify headers assert.Equal(t, "application/json", r.Header.Get("Content-Type")) - assert.Equal(t, userUUID, r.Header.Get("user_uuid")) - assert.Equal(t, username, r.Header.Get("user_name")) - assert.Equal(t, token, r.Header.Get("user_token")) + assert.Equal(t, userUUID, r.Header.Get(types.CSGBotHeaderUserUUID)) + assert.Equal(t, username, r.Header.Get(types.CSGBotHeaderUserName)) + assert.Equal(t, token, r.Header.Get(types.CSGBotHeaderUserToken)) // Return success with response w.Header().Set("Content-Type", "application/json") @@ -371,9 +371,9 @@ func TestDeleteKnowledgeBase_Success(t *testing.T) { // Verify headers assert.Equal(t, "application/json", r.Header.Get("Content-Type")) - assert.Equal(t, userUUID, r.Header.Get("user_uuid")) - assert.Equal(t, username, r.Header.Get("user_name")) - assert.Equal(t, token, r.Header.Get("user_token")) + assert.Equal(t, userUUID, r.Header.Get(types.CSGBotHeaderUserUUID)) + assert.Equal(t, username, r.Header.Get(types.CSGBotHeaderUserName)) + assert.Equal(t, token, r.Header.Get(types.CSGBotHeaderUserToken)) // Verify request body var reqBody DeleteKnowledgeBaseRequest @@ -564,9 +564,9 @@ func TestUpdateKnowledgeBase_Success(t *testing.T) { // Verify headers assert.Equal(t, "application/json", r.Header.Get("Content-Type")) - assert.Equal(t, userUUID, r.Header.Get("user_uuid")) - assert.Equal(t, username, r.Header.Get("user_name")) - assert.Equal(t, token, r.Header.Get("user_token")) + assert.Equal(t, userUUID, r.Header.Get(types.CSGBotHeaderUserUUID)) + assert.Equal(t, username, r.Header.Get(types.CSGBotHeaderUserName)) + assert.Equal(t, token, r.Header.Get(types.CSGBotHeaderUserToken)) // Verify request body var reqBody UpdateKnowledgeBaseRequest @@ -607,9 +607,9 @@ func TestUpdateKnowledgeBase_SuccessWithNameOnly(t *testing.T) { // Verify headers assert.Equal(t, "application/json", r.Header.Get("Content-Type")) - assert.Equal(t, userUUID, r.Header.Get("user_uuid")) - assert.Equal(t, username, r.Header.Get("user_name")) - assert.Equal(t, token, r.Header.Get("user_token")) + assert.Equal(t, userUUID, r.Header.Get(types.CSGBotHeaderUserUUID)) + assert.Equal(t, username, r.Header.Get(types.CSGBotHeaderUserName)) + assert.Equal(t, token, r.Header.Get(types.CSGBotHeaderUserToken)) // Verify request body var reqBody UpdateKnowledgeBaseRequest @@ -650,9 +650,9 @@ func TestUpdateKnowledgeBase_SuccessWithDescriptionOnly(t *testing.T) { // Verify headers assert.Equal(t, "application/json", r.Header.Get("Content-Type")) - assert.Equal(t, userUUID, r.Header.Get("user_uuid")) - assert.Equal(t, username, r.Header.Get("user_name")) - assert.Equal(t, token, r.Header.Get("user_token")) + assert.Equal(t, userUUID, r.Header.Get(types.CSGBotHeaderUserUUID)) + assert.Equal(t, username, r.Header.Get(types.CSGBotHeaderUserName)) + assert.Equal(t, token, r.Header.Get(types.CSGBotHeaderUserToken)) // Verify request body var reqBody UpdateKnowledgeBaseRequest @@ -690,9 +690,9 @@ func TestUpdateKnowledgeBase_SuccessWithEmptyRequest(t *testing.T) { // Verify headers assert.Equal(t, "application/json", r.Header.Get("Content-Type")) - assert.Equal(t, userUUID, r.Header.Get("user_uuid")) - assert.Equal(t, username, r.Header.Get("user_name")) - assert.Equal(t, token, r.Header.Get("user_token")) + assert.Equal(t, userUUID, r.Header.Get(types.CSGBotHeaderUserUUID)) + assert.Equal(t, username, r.Header.Get(types.CSGBotHeaderUserName)) + assert.Equal(t, token, r.Header.Get(types.CSGBotHeaderUserToken)) // Verify request body is empty var reqBody UpdateKnowledgeBaseRequest