sockjs/sockjs-erlang

Add Cowboy 0.6.1 support

haspadar opened this issue · 12 comments

Cowboy API running fast, it's better to target 0.8.0

Bad news: This release drops R14 compatibility. I can't do that.

cowboy_http_req got renamed to cowboy_req. This is quite bad as changing that would break compatibility with older cowboy. Quick workaround:

$ sed -i 's/cowboy_http_req/cowboy_req/g' src/sockjs_http.erl

Yep, it's in the testing now but so far it seems to work.

@yrashk Are there changes similar to b19ead6 that could be ported to mainline without breaking compatibility with R14 and older cowboy?

I have an idea how to do a port that will work for both versions of cowboy, but it is not going to be too pretty.

Basically, we should utilize the dispatching already in place and for old cowboy use {cowboy, Req} and for new cowboy use {cowboy1, Req} (for example). Then you can easily copy over changes from my port line by line and keep both versions.

The changes seem to be:

  1. cowboy_http_req -> cowboy_req
  2. new dependency - ranch
  3. instead of cowboy:start_http we have cowboy:start_listener
  4. casing of headers (camelcase vs lowercase) (can you explain this?)
  5. cowboy_req:path vs cowboy_http_req:raw_path

Did I miss anything?

  1. vice versa
  2. few return values changed, like body_qs

On Tue, Oct 30, 2012 at 12:32 PM, Marek Majkowski
notifications@github.comwrote:

The changes seem to be:

  1. cowboy_http_req -> cowboy_req
  2. new dependency - ranch
  3. instead of cowboy:start_http we have cowboy:start_listener
  4. casing of headers (camelcase vs lowercase) (can you explain this?)
  5. cowboy_req:path vs cowboy_http_req:raw_path

Did I miss anything?


Reply to this email directly or view it on GitHubhttps://github.com//issues/37#issuecomment-9919762.

@yrashk I've noticed you forked master branch, not dev, therefore sockjs-protocol-dev.py fails in few more places. Could you take a look? I don't think there are many changes included on dev.

I am trying to understand what changes at
master...dev are important

On Tue, Oct 30, 2012 at 1:06 PM, Marek Majkowski
notifications@github.comwrote:

@yrashk https://github.com/yrashk I've noticed you forked masterbranch, not
dev, therefore sockjs-protocol-dev.py fails in few more places. Could you
take a look? I don't think there are many changes included on dev.


Reply to this email directly or view it on GitHubhttps://github.com//issues/37#issuecomment-9920835.