docs/language-server/language-server-http-endpoints.md
Language server exposes a number of HTTP endpoints on the same socket as the JSONRPC protocol.
<!-- MarkdownTOC levels="2" autolink="true" indent=" " --> <!-- /MarkdownTOC -->/_healthHTTP endpoint that provides basic health checking capabilities.
GET | HEADReturns 200 OK when the server is started and 500 Internal Server Error
otherwise.
> GET /_health HTTP/1.1
> Host: localhost:63597
> User-Agent: curl/7.77.0
> Accept: */*
< HTTP/1.1 200 OK
< Server: akka-http/10.2.0-RC1
< Date: Fri, 09 Jul 2021 15:16:16 GMT
< Content-Type: text/plain; charset=UTF-8
< Content-Length: 2
<
OK
/_health/readinessThe server readiness probe.
GET | HEADReturns 200 OK when the server is initialized and 500 Internal Server Error
otherwise.
> GET /_health/readiness HTTP/1.1
> Host: localhost:63597
> User-Agent: curl/7.77.0
> Accept: */*
< HTTP/1.1 200 OK
< Server: akka-http/10.2.0-RC1
< Date: Fri, 09 Jul 2021 15:30:53 GMT
< Content-Type: text/plain; charset=UTF-8
< Content-Length: 2
<
OK
/_health/livenessThe server liveness probe.
GET | HEADChecks if all the server subsystems are functioning and returns 200 OK or
500 Internal Server Error otherwise.
> GET /_health/liveness HTTP/1.1
> Host: localhost:60339
> User-Agent: curl/7.77.0
> Accept: */*
< HTTP/1.1 200 OK
< Server: akka-http/10.2.0-RC1
< Date: Fri, 09 Jul 2021 15:35:43 GMT
< Content-Type: text/plain; charset=UTF-8
< Content-Length: 2
<
OK
/_idleThe server idleness probe.
GETReturn the amount of time the language server is idle.
> GET /_idle HTTP/1.1
> Host: localhost:60339
> User-Agent: curl/7.77.0
> Accept: */*
< HTTP/1.1 200 OK
< Server: akka-http/10.2.0-RC1
< Date: Fri, 09 Jul 2021 15:44:51 GMT
< Content-Type: application/json
< Content-Length: 21
<
{"idle_time_sec":58}
/_idle/resetThe reset request of the server idleness probe.
POSTReset the idle time of the language server.
> POST /_idle/reset HTTP/1.1
> Host: localhost:64996
> User-Agent: curl/7.77.0
> Accept: */*
< HTTP/1.1 200 OK
< Server: akka-http/10.2.0-RC1
< Date: Mon, 09 Aug 2021 15:37:27 GMT
< Content-Type: text/plain; charset=UTF-8
< Content-Length: 2
<
OK
Language server can expose HTTPS endpoints when configured appropriately:
NETWORK_ENABLE_HTTPS=trueIf a project-manager is started with ENSO_HTTPS_PUBLIC_CERTIFICATE and
ENSO_HTTPS_PRIVATE_KEY env variables, SSL context will be created from a
certificate and a private key, respectively. If a project-manager is started
with ENSO_HTTPS_PKCS12_PATH and ENSO_HTTPS_PKCS12_PASSWORD env variables,
SSL context will be created from a file in PKCS12 format and a password to it,
respectively.