Nie do końca rozumiem, w jaki sposób SWI Prolog obsługuje http. Mam następujący kod, który głównie działa niezależnie od get_header/1
. Muszę być w stanie odczytać plik nagłówkowy żądania http, aby uzyskać wartość. Jak mogę to zrobić? Czy używam http_read_header/2
? Jeśli tak to jak?SWI-Prolog odczytuje nagłówek http
:- http_handler(root(handle), myhandle,[]).
myhandle(Request):-
get_header(H),
http_read_json_dict(Request,DictIn),
handle_dict(DictIn,DictOut),
reply_json(DictOut).
get_header(H):-
http_read_header(current_input, H),
something(H).
Dziękuję, że wyjaśniłem, o co mi chodziło. Próbowałem wyciąć kod, który według mnie byłby przeszkodą w tym, o co prosiłem. – user27815
Rozumiem to. Ale zbyt wiele można się spodziewać, że ludzie, którzy chcą odpowiedzieć na to pytanie, wymyślają również pasujący kod klienta, który pasuje do konkretnego przypadku użycia. Dołącz klienta, który jasno wyjaśni, co robisz w takich przypadkach. Aby wyciąć kod, możesz użyć wywołania próbki 'wget' lub' curl', aby utworzyć dopasowane żądanie klienta. Istnieje już kilka takich pytań, na które można było odpowiedzieć w łatwy sposób, gdyby opis przypadku został dokładniej opisany. – mat
Kod klienta nie jest pod moją kontrolą w tym przypadku, więc nie mogłem ci go dać. System łączy się z inną usługą i próbuję ustalić, co wysyła, więc to był problem! – user27815