Coder Social home page Coder Social logo

Comments (12)

zfbot avatar zfbot commented on June 12, 2024

(Originally posted by: shevron on 02/08/12)

The right solution for this is that Zend\Http\Response (as well as Request and Client) should stop validating things like status codes, method names etc. using a white-list of possible values, and switch to using the rules specified in the HTTP RFC. The RFC does allow not only codes like 308 but basically any 3-digit custom status codes are allowed.

I am working to change these in my Zend\Http rewrite branch, but this branch also includes a host of other major changes so I do not consider it a fix for this bug, at least not until it is decided to fully merge this branch (if at all).

from zendframework.

zfbot avatar zfbot commented on June 12, 2024

This issue was ported from the ZF2 Jira Issue Tracker at
http://framework.zend.com/issues/browse/ZF2-156

Known GitHub users mentioned in the original message or comment:
@ralphschindler, @shevron

from zendframework.

jcrawford avatar jcrawford commented on June 12, 2024

@shevron do you still plan to merge your rewrite branch? I notice above you said if at all. If you do not plan to merge the branch let me know and I can start looking into fixing this.

from zendframework.

shevron avatar shevron commented on June 12, 2024

Sorry for the detaly. I am swamped at work in the forseeable future so I suggest that if you have a quick fix, fix it and don't wait for me. In any case my "fix" is a complete rewrite + BC breaks, so if we can fix it without that overhead, I think you should go for it.

from zendframework.

Maks3w avatar Maks3w commented on June 12, 2024

@jcrawford @shevron Can you add a link to the RFC where this status code is defined?

from zendframework.

jcrawford avatar jcrawford commented on June 12, 2024

@Maks3w I do not see it in the actual http rfc at all, they seem to stop at 307

from zendframework.

Maks3w avatar Maks3w commented on June 12, 2024

Then I suggest add HTTP 308 to Zend\Http as a generic code

from zendframework.

gws avatar gws commented on June 12, 2024

http://tools.ietf.org/html/draft-reschke-http-status-308-07

The draft has expired, but Appendix A has some links to implementations.

from zendframework.

jcrawford avatar jcrawford commented on June 12, 2024

@Maks3w @shevron @gwis I noticed the draft but it's not in the official RFC, should this be supported?

from zendframework.

shevron avatar shevron commented on June 12, 2024

@jcrawford the real bug here is not the lack of a constant for each HTTP status code out there, but that Http\Response blows up and throws an exception for a code it doesn't know.

The HTTP standard is extinsible - it allows any status codes to be used in addition to the ones documented in the RFC (this also goes for request methods, headers, etc.), and Http* classes should be just as flexible. They should accept syntactically valid codes (the RFC defines what is syntactically valid) and deny invalid ones (e.g. a status code made out of letters) but not blow up on a syntactically valid status code it does not know.

I would have fixed this myself, but I am really struggling with free time recently. If that's something you can patch, I think it would be great. Even better if we remove all the places where Zend\Http* classes throw an exception for a code / header / method / etc. it doesn't know, as long as the protocol allows it.

from zendframework.

jcrawford avatar jcrawford commented on June 12, 2024

@shevron thanks for the clarification I will see if I can get a fix submitted over the next few days.

from zendframework.

ralphschindler avatar ralphschindler commented on June 12, 2024

Does anyone want to produce a pull request for non-standard/extension http codes? If not, I suggest we close this as its a non-trival feature request.

from zendframework.

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.