gpt4 book ai didi

http - 如何在 Jolie 编程语言中获取服务的 http header

转载 作者:可可西里 更新时间:2023-11-01 17:34:27 25 4
gpt4 key购买 nike

我有一个用 Jolie 编写的服务,我想根据请求提取 http header 。以同样的方式可以打印出 request.id,我想打印标题。代码中的粗体字母下面有一个尝试。这里的代码:

    execution { concurrent }



inputPort UserDB_Service {
Location: "socket://localhost:8002/"
Protocol: http { .format = "json"}
Interfaces: Users, ShutdownInterface, ConnectionPool
}


outputPort DB_Connector {
Location: "socket://localhost:1000/"
Protocol: sodep
Interfaces: ConnectionPool
}



init
{
connectionConfigInfo@DB_Connector()(connectionInfo);
connect@Database(connectionInfo)()

}

main
{
//Example: http://localhost:8002/retrieve?id=1
[ retrieve(request)(response) {
query@Database(
"select * from users where user_id=:id" {
.id = request.id
}
)(sqlResponse);

println@Console( "You have requested the user_id: " + request.id)();
**println@Console( "Request Headers: " + response.format)();**

if (#sqlResponse.row == 1) {
response -> sqlResponse.row[0]
}

} ]



}

感谢您的帮助。

最佳答案

我不明白您是否知道要在入站请求中包含哪些 header ,或者您是否只想打印整个 http 消息以进行调试。在这两种情况下都很快,我报告了两种解决方案:)

在第一种情况下,您可以为 inputPort 设置 http 协议(protocol)的 headers 参数,以在请求消息中包含特定 header 的内容,例如,

http {
.headers.format = "format";
}

然后你可以用通常的方式检查这个值

println@Console( request.format )()

在第二种情况下,你可以使用

http {
.debug = true;
.debug.showContent = true
}

查看所有 http 请求和响应及其正文的日志。

关于协议(protocol)的这些和更多信息,特别是 http协议(protocol)在 Jolie 网站的文档中。

关于http - 如何在 Jolie 编程语言中获取服务的 http header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35904034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com