Как мы реализуем сообщение curl в pharo
У меня есть curl post для реализации в pharo, но, похоже, не так много в плане объяснения того, как это сделать. Я видел несколько примеров, но они гораздо проще, чем мне нужно. Я бы сделал это в гостинице Pharos?
$ curl 'https://url_server' \
-X POST \
-H 'key: MY PASSWORD' \
-H 'Content-Type: application/json' \
-d \
'{
"HEADER": "FOO",
"DESK": "POO",
"FORWARDTO": "another_url"
}'
Я знаю, что это похоже на публикацию с использованием Znclient следующим образом:
ZnClient new
url: 'url_server';
entity: (ZnEntity
with:'{"HEADER": "FOO",
"DESK": "POO",
"FORWARDTO": "another_url"}'
type: ZnMimeType applicationJson
);
post.
Однако где ключ идет к использованию этого синтаксиса?
1 ответ
Похоже, вы ищете способ установить поле заголовка HTTP для вашего запроса в Zinc?
Пытаться ZnClient
:
headerAt: key put: value
"Set key equals value in the HTTP header of the current request"
Ваш код может выглядеть так:
ZnClient new
url: 'yourURL';
headerAt: 'headerKey' put: 'headerValue';
entity: (ZnEntity
with:'{"yourJSON": "Content"}'
type: ZnMimeType applicationJson);
post.
У Zinc также есть приятная особенность, которая показывает вам вызов командной строки curl, эквивалентный текущему запросу. Таким образом, вы можете сравнить с линией завитка, которую вы имели в виду. Просто распечатайте:
ZnClient new
url: 'yourURL';
headerAt: 'headerKey' put: 'headerValue';
entity: (ZnEntity
with:'{"yourJSON": "Content"}'
type: ZnMimeType applicationJson);
method: #POST;
curl.
Хорошую документацию по использованию Zinc HTTP в качестве клиента вы найдете в книге Enterprise Pharo.