Skip to content

Commit 3bcf8fd

Browse files
authored
Merge pull request #915 from zhangairku/add_component_header
组件添加请求头部‘X-Appbuilder-From’
2 parents 73ba6e1 + 21d7c65 commit 3bcf8fd

File tree

10 files changed

+98
-4
lines changed

10 files changed

+98
-4
lines changed

go/appbuilder/component_client.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ func (t *ComponentClient) Run(component, version, action string, stream bool, pa
6565
request.URL = serviceURL
6666
request.Method = "POST"
6767
header.Set("Content-Type", "application/json")
68+
header.Set("X-Appbuilder-From", "sdk")
6869
request.Header = header
6970

7071
req := ComponentRunRequest{

go/appbuilder/component_client_test.go

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,46 @@ func TestComponentClient(t *testing.T) {
8787
t.Logf("%s========== OK: %s ==========%s", "\033[32m", t.Name(), "\033[0m")
8888
}
8989
}
90+
91+
func TestComponentClientHeader(t *testing.T) {
92+
os.Setenv("APPBUILDER_LOGLEVEL", "DEBUG")
93+
config, err := NewSDKConfig("", "")
94+
if err != nil {
95+
t.Logf("%s========== FAIL: %s ==========%s", "\033[31m", t.Name(), "\033[0m")
96+
t.Fatalf("new http client config failed: %v", err)
97+
}
98+
99+
componentID := "c-wf-a39ee06c-808f-4a19-9f5f-544044283749"
100+
parameters := map[string]any{
101+
SysOriginQuery: "梦到巨人,是怎么回事",
102+
}
103+
componentClient, err := NewComponentClient(config)
104+
if err != nil {
105+
t.Error(err)
106+
return
107+
}
108+
109+
ret, err := componentClient.Run(componentID, "latest", "", false, parameters)
110+
if err != nil {
111+
t.Error(err)
112+
return
113+
}
114+
115+
for answer, err := ret.Next(); err == nil; answer, err = ret.Next() {
116+
t.Log(answer.Content[0].Text["info"])
117+
}
118+
119+
ret2, err := componentClient.Run(componentID, "latest", "", true, parameters)
120+
if err != nil {
121+
t.Error(err)
122+
return
123+
}
124+
125+
for answer, err := ret2.Next(); err == nil; answer, err = ret2.Next() {
126+
if len(answer.Content) == 0 {
127+
continue
128+
}
129+
t.Log(answer.Content[0].Text["info"])
130+
}
131+
132+
}

java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.baidubce</groupId>
88
<artifactId>appbuilder</artifactId>
9-
<version>1.1.1</version>
9+
<version>1.1.4</version>
1010
<packaging>jar</packaging>
1111

1212
<name>app-builder</name>

java/src/main/java/com/baidubce/appbuilder/console/componentclient/ComponentClient.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public ComponentClientIterator run(String componentId, String version, String ac
6767
ClassicHttpRequest postRequest = httpClient.createPostRequestV2(urlSuffix,
6868
new StringEntity(jsonBody, StandardCharsets.UTF_8));
6969
postRequest.setHeader("Content-Type", "application/json");
70+
postRequest.setHeader("X-Appbuilder-From", "sdk");
7071
HttpResponse<StreamIterator<ComponentClientRunResponse>> response =
7172
httpClient.executeSSE(postRequest, ComponentClientRunResponse.class);
7273
return new ComponentClientIterator(response.getBody());

java/src/test/java/com/baidubce/appbuilder/ComponentClientTest.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,34 @@ public void TestComponentClientRunStream() throws IOException, AppBuilderServerE
5151
}
5252
assertNotNull(text);
5353
}
54+
55+
@Test
56+
public void TestComponentClientHeaderRun() throws IOException, AppBuilderServerException {
57+
this.componentId = "c-wf-a39ee06c-808f-4a19-9f5f-544044283749";
58+
ComponentClient client = new ComponentClient();
59+
Map<String, Object> parameters = new HashMap<>();
60+
parameters.put(ComponentClientRunRequest.SysOriginQuery, "梦到巨人");
61+
ComponentClientIterator iter = client.run(componentId, "latest", "", false, parameters);
62+
while (iter.hasNext()) {
63+
ComponentClientRunResponse response = iter.next();
64+
System.out.println((response.getContent()[0].getText().get("info")));
65+
}
66+
}
67+
68+
@Test
69+
public void TestComponentClientHeaderRunStream() throws IOException, AppBuilderServerException {
70+
this.componentId = "c-wf-a39ee06c-808f-4a19-9f5f-544044283749";
71+
ComponentClient client = new ComponentClient();
72+
Map<String, Object> parameters = new HashMap<>();
73+
parameters.put(ComponentClientRunRequest.SysOriginQuery, "梦到巨人");
74+
ComponentClientIterator iter = client.run(componentId, "latest", "", true, parameters);
75+
76+
while (iter.hasNext()) {
77+
ComponentClientRunResponse response = iter.next();
78+
if (response.getContent().length > 0) {
79+
System.out.println((response.getContent()[0].getText().get("info")));
80+
}
81+
}
82+
83+
}
5484
}

python/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414

1515

16-
__version__ = '1.1.3'
16+
__version__ = '1.1.4'
1717

1818
import os
1919
import sys

python/core/console/component_client/component_client.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ def run(
6262
"""
6363
headers = self.http_client.auth_header_v2()
6464
headers["Content-Type"] = "application/json"
65+
headers["X-Appbuilder-From"] = "sdk"
6566

6667
url_suffix = f"/components/{component_id}"
6768
if version is not None:

python/tests/test_component_client.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,23 @@ def test_component_client_stream(self):
3535
for data in res.content:
3636
print(data)
3737

38+
def test_component_header_client(self):
39+
appbuilder.logger.setLoglevel("DEBUG")
40+
client = appbuilder.ComponentClient()
41+
42+
res = client.run(component_id="c-wf-a39ee06c-808f-4a19-9f5f-544044283749",
43+
version="latest", sys_origin_query="梦到巨人")
44+
print(res.content)
45+
46+
def test_component_header_client_stream(self):
47+
appbuilder.logger.setLoglevel("DEBUG")
48+
client = appbuilder.ComponentClient()
49+
50+
res = client.run(component_id="c-wf-a39ee06c-808f-4a19-9f5f-544044283749",
51+
version="latest", sys_origin_query="梦到巨人", stream=True)
52+
for data in res.content:
53+
print(data)
54+
3855

3956
if __name__ == "__main__":
4057
unittest.main()

requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ opentelemetry-api>=1.23.0
1414
pydub>=0.10.0
1515
ffmpeg
1616
aiohttp
17-
urllib3<2.0.0
17+
urllib3<2.0.0
18+
mcp==1.3.0

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
setup(
5656
name="appbuilder-sdk",
5757
# NOTE(chengmo): 修改此版本号时,请注意同时修改 __init__.py 中的 __version__
58-
version="1.1.3",
58+
version="1.1.4",
5959
author="dongdaxiang",
6060
author_email="[email protected]",
6161
packages=packages,

0 commit comments

Comments
 (0)