Создание сервисов GET/POST Ocsigen
Я создаю приложение, используя Ocsigen
это приложение не будет подключено к базе данных, и цель состоит в том, чтобы скопировать содержимое с основного веб-сайта сюда. (я использую curl для выполнения запросов Get)
Итак, моя проблема здесь в том, что я пытаюсь сделать "вход в систему" с пользователем, и я хочу создать сервис, который сохраняет в моем коде 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 имеет на своем сайте, но я не работаю...
Я создал форму, которая успешно выполняет созданные мной службы, но служба никогда не выполняет то, что мне нужно.
Извините, если я плохо объяснил ситуацию... Есть идеи, как решить эту проблему? Я иду не в ту сторону?
Thnx!
PS: Я также попытался отредактировать Os_services.connect_service из папки Ocsigen-Start src, и я думаю, что мне нужно сделать почтовый сервис для этого случая, но снова я не смог сделать то, что я хочу.
1 ответ
Я думаю, что вы ищете Eliom_reference, то есть если вы хотите сохранить информацию для дальнейшего использования.
https://ocsigen.org/eliom/api/server/Eliom_reference
Я немного заржавел, когда дело доходит до Элиома, но это будет выглядеть так:
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))