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

Ability for http scripts to force a tcp close: abort command #132

Closed
dpwspoon opened this issue Feb 17, 2015 · 5 comments
Closed

Ability for http scripts to force a tcp close: abort command #132

dpwspoon opened this issue Feb 17, 2015 · 5 comments
Assignees
Milestone

Comments

@dpwspoon
Copy link
Member

Forcing a premature tcp close from an http stream is required to test some of the requirements of RFC-7230 and RFC-7231 (http). Authoring these tests in straight tcp semantics makes them brittle, as different implementations may order them in different ways.

@dpwspoon dpwspoon changed the title Allow http level scripts to do tcp close. Ability for http scripts to force a tcp close Feb 17, 2015
@cmebarrow
Copy link
Member

Two test cases in ConnectionManagementIT in specification/http are currently ignored because of this bug.

@cmebarrow
Copy link
Member

This is also needed to complete the wse specification tests. Transport being closed is needed for some edge cases.

@cmebarrow cmebarrow removed their assignment Jan 18, 2016
@cmebarrow cmebarrow changed the title Ability for http scripts to force a tcp close Ability for http scripts to force a tcp close: abort command Jan 18, 2016
@cmebarrow
Copy link
Member

Just had a discussion with @jfallows. We came up with the following proposal:

  • Add a new abort command, which means to abort or reset the current connection
  • Add a new aborted event, which can be used on the other side of the connection to verify the connection was aborted by the other end

For Http the implementation would be to close the TCPConnection in the case of abort, and (in HttpChildChannelSource) convert TCP closed event to aborted on the http pipeline.

Implementation steps:

  • Add abort plus aborted to grammar and parsing and visitors
  • AbortHandler plus AbortedHandler
  • Alter HttpChildChannelSource to convert TCP closed event to aborted on the http pipeline
  • Alter HttpChildChannelSink to convert abort to tcp close
  • Add tests to driver
  • Enable (unignore) the two above mentioned test cases in ConnectionManagementIT in specification/http plus a new one being added to ClosingIT in specification/wseb

@sbadugu sbadugu added this to the S2 - 16 milestone Jan 25, 2016
@sbadugu
Copy link
Contributor

sbadugu commented Feb 1, 2016

This issue was moved to kaazing/roadmap#670

@sbadugu sbadugu closed this as completed Feb 1, 2016
@cmebarrow
Copy link
Member

This has now been implemented, see PR #303

cmebarrow pushed a commit to cmebarrow/k3po that referenced this issue Feb 5, 2016
…been fixed (adding support for abort and aborted).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants