From: Tom de Vries <tdevries@suse.de>
To: Tom Tromey <tom@tromey.com>,
Tom de Vries via Gdb-patches <gdb-patches@sourceware.org>
Subject: Re: [RFC 2/3] [gdb/dap] Allow Content-Length on separate line
Date: Tue, 14 Mar 2023 16:35:03 +0100 [thread overview]
Message-ID: <f7de983f-018f-d168-0b5d-c9ce684e1d81@suse.de> (raw)
In-Reply-To: <87ilf3ju98.fsf@tromey.com>
On 3/14/23 15:13, Tom Tromey wrote:
>>>>>> "Tom" == Tom de Vries via Gdb-patches <gdb-patches@sourceware.org> writes:
>
> Tom> Also allow:
> Tom> ...
> Tom> Content-Length: 54
>
> Tom> {"seq": 1, ...}
> Tom> Content-Length: 163
>
> Tom> {"seq": 2, ...}
> Tom> Content-Length: 136
> Tom> ...
> Tom> which makes command files a bit easier to read.
>
> Doesn't this violate the XML-RPC protocol? The issue being that the
> header is terminated by a blank line, but now this ignores the blank
> line. Though of course it's also bad to not have a Content-Length.
OK, let's try the example from here (
https://microsoft.github.io/debug-adapter-protocol/overview ), two after
each other, as confirming DAP:
...
Content-Length: 119\r\n
\r\n
{ "seq": <n>, ... }Content-Length: 119\r\n
\r\n
{ "seq": <n>, ... }
...
What I'm proposing with this patch allows in addition:
...
Content-Length: 119\r\n
\r\n
{ "seq": <n>, ... }\r\n
Content-Length: 119\r\n
\r\n
{ "seq": <n>, ... }
...
So the \r\n that terminates the header is still there.
And the blank line (^\r\n) that separates header and content is still there.
Whether this is still confirming DAP, I can't tell from the specification.
I can imagine that it makes sense for GDB to be as strict as possible to
flush out problems in actual clients.
OTOH, the mock-up client we create by feeding a text file into gdb
doesn't actually need to conform to DAP, and there's something to win by
making this text file easy to read and edit, which is what the goal of
this patch is.
So, perhaps we want to enable this selectively, say with a setting
dap-parse-strict, and perhaps have some "set dap-cmd-input gdb.in" that
automatically sets dap-parse-strict to 0.
Alternatively, we could move this into the command-sphere and do
something like:
...
interpreter-exec dap-wrap { "seq": <n>, ... }
...
and let dap-wrap take care of adding a header with the correct size.
But this all might be overkill, I'm not sure.
Thanks,
- Tom
next prev parent reply other threads:[~2023-03-14 15:35 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-14 13:05 [RFC 0/3] [gdb/dap] Handle DAP command files Tom de Vries
2023-03-14 13:05 ` [RFC 1/3] [gdb/dap] Add logging of ignored lines Tom de Vries
2023-03-14 14:12 ` Tom Tromey
2023-03-24 8:10 ` Tom de Vries
2023-03-14 13:05 ` [RFC 2/3] [gdb/dap] Allow Content-Length on separate line Tom de Vries
2023-03-14 14:13 ` Tom Tromey
2023-03-14 15:35 ` Tom de Vries [this message]
2023-05-05 13:09 ` Tom Tromey
2023-03-14 13:05 ` [RFC 3/3] [gdb/dap] Allow WAIT_FOR_EVENTS input Tom de Vries
2023-05-05 13:09 ` Tom Tromey
2023-05-05 14:01 ` Tom de Vries
2023-05-10 16:23 ` Tom Tromey
2023-05-10 16:29 ` Tom Tromey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f7de983f-018f-d168-0b5d-c9ce684e1d81@suse.de \
--to=tdevries@suse.de \
--cc=gdb-patches@sourceware.org \
--cc=tom@tromey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).