我正在使用Ocsigen
构建一个应用程序,此应用程序不会连接到数据库,目标是将内容从主网站复制到此处。(我正在使用 curl 来执行获取请求)
所以我的问题是,我正在尝试与用户进行"登录",并且我想构建一个服务,将用户引入的username
和password
保存到我的代码中。然后我可以使用username
和password
对主网站进行GET请求。
我的问题只有一个,我已经尝试了很多方法来构建保存这两个字符串的服务,但我想不出一种方法。
我做了很多不同的尝试,我的最后一次我做了如下的事情:
let save_data =
Eliom_registration.Action.create
~meth:
(Eliom_service.Post
(Eliom_parameter.unit,
Eliom_parameter.string "username"))
~path:Eliom_service.No_path
(fun () username -> username)
根据 Ocsigen 在他们的网站上有一个例子,但我不工作......
我创建了一个表单,该表单成功执行了我创建的服务,但该服务从未执行我所需的操作。
对不起,如果我解释得不好...知道如何解决这个问题吗?我走错路了?
哗啦!
PS:我也尝试从 Ocsigen-Start src 文件夹中编辑 Os_services.connect_service,我想我必须对这种情况做一个邮政服务,但我再次未能做我想做的事。
我认为您正在寻找的是Eliom_reference,也就是说,如果您希望将信息存储以备后用。
https://ocsigen.org/eliom/api/server/Eliom_reference
当谈到 Eliom 时,我有点生疏,但它看起来像这样:
let current_username : string option Eliom_reference.eref =
Eliom_reference.eref ~scope:Eliom_common.default_process_scope None
let save_data = Eliom_registration.Action.create
~meth:(Eliom_service.Post
(Eliom_parameter.unit,
Eliom_parameter.string "username"))
~path:(Eliom_service.No_path)
(fun () username -> Eliom_reference.set current_username (Some username))