Как добавить пакет в репозиторий XQuery? - PullRequest
0 голосов
/ 02 марта 2020

Я использую cURL для выполнения команд с использованием интерфейса REST BaseX, например:

curl http://localhost:8984/rest/?command=repo+list

Существуют также команды для управления репозиторием модуля XQuery . Я особенно заинтересован в REPO INSTALL для установки пакета. Можно ли как-то выполнить эту команду, используя cURL и интерфейс REST, но без наличия пакета на целевом сервере? Я хочу предоставить файл в теле запроса cURL, аналогично добавлению ресурса в базу данных ( source ), который выглядит следующим образом:

curl -i -X PUT -T "etc/xml/factbook.xml" "http://localhost:8984/rest/factbook"

Попытка

curl -i -X PUT -T "/tmp/foo.xar" http://localhost:8984/rest/?command=repo+install

Дает мне

HTTP/1.1 404 Not Found
Content-Type: text/plain;charset=UTF-8
Content-Length: 18
Connection: close
Server: Jetty(9.4.18.v20190429)

No path specified.

Добавление -H "Content-Type: application/x-xar" тоже не помогает.

И замена PUT на POST дает мне

HTTP/1.1 100 Continue

HTTP/1.1 400 Bad Request
Date: Tue, 03 Mar 2020 09:53:21 GMT
Content-Type: text/plain;charset=utf-8
Content-Length: 46
Server: Jetty(9.4.18.v20190429)

"" (Line 1): Content is not allowed in prolog.
...