Giter Club home page Giter Club logo

Comments (12)

mkurz avatar mkurz commented on August 17, 2024 1

@pjfanning I know, I just wanted to let them know as well.

from pekko-http.

jrudolph avatar jrudolph commented on August 17, 2024 1

Ill see if I have time for this, the fix doesn't seem that hard (just need to add an extra case where the exceptions are caught).

I'll have a look quickly, also where to put the tests, and let you know.

from pekko-http.

pjfanning avatar pjfanning commented on August 17, 2024

thanks @mkurz for the detailed description of the issue

It is probably still useful for you log this in akka-http project too but it's good not to assume that we will be following issues raised in akka projects (especially, since we can't copy any of the solutions)

from pekko-http.

pjfanning avatar pjfanning commented on August 17, 2024

@jrudolph @mdedetrich is this something that we would like to fix before a pekko-http 1.0.0 release?

from pekko-http.

mdedetrich avatar mdedetrich commented on August 17, 2024

Ill try and look into this tomorrow, doesn't seem to hard to solve since @mkurz did an excellent job in specifying how to solve the bug

from pekko-http.

mdedetrich avatar mdedetrich commented on August 17, 2024

Alternately @mkurz would you want to contribute the fix, it seems like you are ontop of things here?

from pekko-http.

jrudolph avatar jrudolph commented on August 17, 2024

In any case, it's not a blocker. It's somewhat unfortunate that some error cases fail more extremely than desired but it does not change the outcome a lot. Btw. the nice error message is also disabled by default for HTTP/1.1 so it's mostly about the status code.

from pekko-http.

mkurz avatar mkurz commented on August 17, 2024

I am sorry, I have so much other work to do I don't have the capacity right now to work on this issue here.

from pekko-http.

mdedetrich avatar mdedetrich commented on August 17, 2024

I am sorry, I have so much other work to do I don't have the capacity right now to work on this issue here.

No worries

In any case, it's not a blocker. It's somewhat unfortunate that some error cases fail more extremely than desired but it does not change the outcome a lot. Btw. the nice error message is also disabled by default for HTTP/1.1 so it's mostly about the status code.

Ill see if I have time for this, the fix doesn't seem that hard (just need to add an extra case where the exceptions are caught).

from pekko-http.

pjfanning avatar pjfanning commented on August 17, 2024

added 1.0.0 milestone marker but it's a nice to have as opposed to a release blocker

from pekko-http.

jrudolph avatar jrudolph commented on August 17, 2024

There are several complications here:

  • our HTTP/2 client does not allow send invalid URIs (Raw-Request-URI not yet supported)
  • there's currently no way to signal non-fatal parsing errors (should we treat it non-fatal, though?) to the demuxer, so
    in any case the connection will be torn down after sending the response, together with all other ongoing streams. This
    seems to make it more reasonable to handle these HTTP-layer errors (as opposed to HTTP/2-framing errors) with HTTP
    error codes which however means that we need to find ways to signal those errors through the layers (i.e. introduce
    another synthetic frame type).

So, nothing to fix quickly, but I'll have a look into it when I find some time.

from pekko-http.

mdedetrich avatar mdedetrich commented on August 17, 2024

there's currently no way to signal non-fatal parsing errors (should we treat it non-fatal, though?) to the demuxer, so
in any case the connection will be torn down after sending the response, together with all other ongoing streams. This
seems to make it more reasonable to handle these HTTP-layer errors (as opposed to HTTP/2-framing errors) with HTTP
error codes which however means that we need to find ways to signal those errors through the layers (i.e. introduce
another synthetic frame type).

So I don't know HTTP2 implementation very in depth, but this to me appears like a non-fatal/business logic error (i.e. it happens when the client sends a malformed URI so its in the same class of errors like validation). If as you say there is no way currently for the HTTP2 to gracefully handle business/validation errors, we should probably fix that first before approaching this.

@pjfanning Considering whats just been said I think its safer to park this for now and remove it from the 1.0.0 milestone

from pekko-http.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.