[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [amqp-comment] amqp over http draft
Inline:
ClemensV> Von: Gordon Sim <gsim@redhat.com> On 24/05/2019 12:47 pm, Clemens Vasters wrote: ClemensV> I need to know whether it’s an HTTP
request if I have a generic framework that routes HTTP requests to a particular kind of handler while routing other messages elsewhere. Since HTTP methods are largely free-form strings (with a few well-known ones), there’s nothing I can anchor that generic
dispatcher on other than a clear indicator that the request is an HTTP request. Also, AMQP is symmetric and therefore a link-pair (see the new link pairing spec) might carry requests and responses in both directions of a link pair and we’ve discussed that
possibility in the F2F. Therefore it’s rather useful to be able to tell without guessing whether the message ought to go to the request dispatcher to the reply dispatcher. “Guessing” would involve inspecting the subject and the inferring whether it’s a method
or a status code. Methods are tokens and tokens permit digits. “200” is valid method name
https://tools.ietf.org/html/rfc7230#section-3.2.6. I understand that the scenario is far fetched, but I need to work with the existing framework
and cover the corner cases.
ClemensV>
the subject contains the HTTP status or request line, with the URI field of the request line already broken out into “to”. It is a straight mapping, no munging. I also disagree with
the assumption that the client request is not “originating in HTTP”. I have a prototype here that makes the regular .NET HttpClient abstraction speak this binding and to the app it’s just HTTP. I also have an extension to ASP.NET that I can plug in as an alternate
transport and that just looks like a web server. The transport here is as much HTTP as HTTP/2 or HTTP/3 are HTTP.
ClemensV>
I strongly believe the indicator is needed and it needs to be part of the bare message so that it can be part of a message signature if there is one, and any alternative to putting
it into subject makes matters more complicated than skipping exactly 9 characters to get to either method or status code.
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]