summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2023-04-25 14:54:54 +0100
committerBram Moolenaar <Bram@vim.org>2023-04-25 14:54:54 +0100
commitc3eddd2068620ceb4e475961192c1d8cae3350cd (patch)
tree8053af0440fc4d98d0f255e4f40d39e6c273b2ab /src
parentcfc788c38848adcd54e4130f16f2813cd1e215dd (diff)
downloadvim-git-c3eddd2068620ceb4e475961192c1d8cae3350cd.tar.gz
patch 9.0.1487: Content-type header for LSP channel not according to specv9.0.1487
Problem: Content-type header for LSP channel not according to spec. Solution: Use "vscode-jsonrpc" instead of "vim-jsonrpc". (Yegappan Lakshmanan, closes #12295)
Diffstat (limited to 'src')
-rw-r--r--src/json.c3
-rw-r--r--src/testdir/test_channel.vim2
-rw-r--r--src/testdir/test_channel_lsp.py10
-rw-r--r--src/version.c2
4 files changed, 10 insertions, 7 deletions
diff --git a/src/json.c b/src/json.c
index c1602c3d8..acf7ac57c 100644
--- a/src/json.c
+++ b/src/json.c
@@ -103,9 +103,10 @@ json_encode_lsp_msg(typval_T *val)
ga_append(&ga, NUL);
ga_init2(&lspga, 1, 4000);
+ // Header according to LSP specification.
vim_snprintf((char *)IObuff, IOSIZE,
"Content-Length: %u\r\n"
- "Content-Type: application/vim-jsonrpc; charset=utf-8\r\n\r\n",
+ "Content-Type: application/vscode-jsonrpc; charset=utf-8\r\n\r\n",
ga.ga_len - 1);
ga_concat(&lspga, IObuff);
ga_concat_len(&lspga, ga.ga_data, ga.ga_len);
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index a6b25c9a7..6be2137c3 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -2670,7 +2670,7 @@ func LspTests(port)
" " Test for sending a raw message
" let g:lspNotif = []
" let s = "Content-Length: 62\r\n"
- " let s ..= "Content-Type: application/vim-jsonrpc; charset=utf-8\r\n"
+ " let s ..= "Content-Type: application/vscode-jsonrpc; charset=utf-8\r\n"
" let s ..= "\r\n"
" let s ..= '{"method":"echo","jsonrpc":"2.0","params":{"m":"raw-message"}}'
" call ch_sendraw(ch, s)
diff --git a/src/testdir/test_channel_lsp.py b/src/testdir/test_channel_lsp.py
index 10b4fb43f..dd107be15 100644
--- a/src/testdir/test_channel_lsp.py
+++ b/src/testdir/test_channel_lsp.py
@@ -35,7 +35,7 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
v['id'] = msgid
s = json.dumps(v)
resp = "Content-Length: " + str(len(s)) + "\r\n"
- resp += "Content-Type: application/vim-jsonrpc; charset=utf-8\r\n"
+ resp += "Content-Type: application/vscode-jsonrpc; charset=utf-8\r\n"
resp += "\r\n"
resp += s
if self.debug:
@@ -46,7 +46,7 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
v = 'wrong-payload'
s = json.dumps(v)
resp = "Content-Length: " + str(len(s)) + "\r\n"
- resp += "Content-Type: application/vim-jsonrpc; charset=utf-8\r\n"
+ resp += "Content-Type: application/vscode-jsonrpc; charset=utf-8\r\n"
resp += "\r\n"
resp += s
self.request.sendall(resp.encode('utf-8'))
@@ -60,7 +60,7 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
def send_empty_payload(self):
resp = "Content-Length: 0\r\n"
- resp += "Content-Type: application/vim-jsonrpc; charset=utf-8\r\n"
+ resp += "Content-Type: application/vscode-jsonrpc; charset=utf-8\r\n"
resp += "\r\n"
self.request.sendall(resp.encode('utf-8'))
@@ -71,7 +71,7 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
resp = "Host: abc.vim.org\r\n"
resp += "User-Agent: Python\r\n"
resp += "Accept-Language: en-US,en\r\n"
- resp += "Content-Type: application/vim-jsonrpc; charset=utf-8\r\n"
+ resp += "Content-Type: application/vscode-jsonrpc; charset=utf-8\r\n"
resp += "Content-Length: " + str(len(s)) + "\r\n"
resp += "\r\n"
resp += s
@@ -93,7 +93,7 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
# test for sending the http header without length
v = {'jsonrpc': '2.0', 'id': msgid, 'result': resp_dict}
s = json.dumps(v)
- resp = "Content-Type: application/vim-jsonrpc; charset=utf-8\r\n"
+ resp = "Content-Type: application/vscode-jsonrpc; charset=utf-8\r\n"
resp += "\r\n"
resp += s
self.request.sendall(resp.encode('utf-8'))
diff --git a/src/version.c b/src/version.c
index 7de60de7f..bc271c8af 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1487,
+/**/
1486,
/**/
1485,