Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WEBrick doesn't support PUT or DELETE #6

Closed
pachacamac opened this issue Aug 27, 2014 · 7 comments
Closed

WEBrick doesn't support PUT or DELETE #6

pachacamac opened this issue Aug 27, 2014 · 7 comments

Comments

@pachacamac
Copy link
Owner

More tests should've figured this out sooner but I'm highly disappointed by this piece of crap.

TODO: Either monkeypatch PUT/DELETE to WEBrick or try to get somehow rid of WEBrick alltogether

@Trevoke
Copy link

Trevoke commented Aug 28, 2014

Any reason not to just use thin?

@pachacamac
Copy link
Owner Author

Well yes. As stated in the Readme one of my core design principles for this little project was to have NO dependencies whatsoever except whats available in the Ruby Standard Lib. Surprisingly to me, WEBrick is in there but Rack isn't. I'm considering to drop this one design principle (or create a new project without it) and just build upon Rack instead of using WEBrick (or Thin, etc).

The other alternative would be to monkeypatch PUT/DELETE into WEBrick but since it's not really great in any other way except that it's present in the RubySTDLib, I'm strongly leaning towards option A.

Any other ideas/suggestions/questions? :)

PS: Thanks for caring enough about this little project to comment on this.

@Trevoke
Copy link

Trevoke commented Aug 29, 2014

Hmm. I see what you mean.

Rack isn't in the stdlib because it doesn't really solve a problem for
stdlib, it's more of a concept for building web apps (and it seems to be
outdated, too:
http://blog.plataformatec.com.br/2012/06/why-your-web-framework-should-not-adopt-rack-api/
), while webrick is a useful default tool.

I admit I would ask: is a webserver really part of the web framework? Maybe
it's a separate concern altogether!

On Thu, Aug 28, 2014 at 5:04 AM, Marc notifications@github.com wrote:

Well yes. As stated in the Readme
https://github.com/pachacamac/busker/blob/master/README.md one of my
core design principles for this little project was to have NO dependencies
whatsoever except whats available in the Ruby Standard Lib. Surprisingly to
me, WEBrick is in there but Rack isn't. I'm considering to drop this one
design principle (or create a new project without it) and just build upon
Rack instead of using WEBrick (or Thin, etc).

The other alternative would be to monkeypatch PUT/DELETE into WEBrick but
since it's not really great in any other way except that it's present in
the RubySTDLib, I'm strongly leaning towards option A.

Any other ideas/suggestions/questions? :)

PS: Thanks for caring enough about this little project to comment on this.


Reply to this email directly or view it on GitHub
#6 (comment).

@pachacamac
Copy link
Owner Author

Seems like your thought has been brought to code here: https://github.com/tenderlove/the_metal

@Trevoke
Copy link

Trevoke commented Sep 2, 2014

OOh nice!

On Tue, Sep 2, 2014 at 12:45 PM, Marc notifications@github.com wrote:

Seems like your thought has been brought to code here:
https://github.com/tenderlove/the_metal


Reply to this email directly or view it on GitHub
#6 (comment).

@chadwpry
Copy link

chadwpry commented Apr 6, 2015

@pachacamac How difficult would it be to port this to Puma?

@pachacamac
Copy link
Owner Author

@chadwpry I just searched through the Puma code for something like "mount_proc" in Webrick since that is where most of the magic happens but couldn't find anything on the fly.

Apart from that, it would break with Buskers design principle nr 2: No dependencies except what is in the Ruby Standard Lib. I think it would be much smarter to rely on Rack and have the web server interchangeable if one would go and break this principle.

May I ask what you're trying to build with Busker? :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants