Skip to content
New issue

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

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

Already on GitHub? # to your account

Add session object to HTTP library #3258

Closed
DartBot opened this issue May 26, 2012 · 8 comments
Closed

Add session object to HTTP library #3258

DartBot opened this issue May 26, 2012 · 8 comments
Assignees
Labels
area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries. library-io
Milestone

Comments

@DartBot
Copy link

DartBot commented May 26, 2012

This issue was originally filed by TerryMit...@gmail.com


1:
In the current HttpHeaders implementation,
  response.headers.set("Set-Cookie", "text = HelloWorld");
  response.headers.add("Set-Cookie", "text = AnotherHelloWorld");
or
  response.headers.add("Set-Cookie", "text = HelloWorld");
  response.headers.add("Set-Cookie", "text = AnotherHelloWorld");
creates a single set-cookie header consists of comma separated two cookies (Set-Cookie folded) such as:
set-cookie: text = HelloWorld, text = AnotherHelloWorld

The recent RFC 6265 Section 3 says:
 Origin servers SHOULD NOT fold multiple Set-Cookie header fields into a single header field. The usual mechanism for folding HTTP headers fields (i.e., as defined in [RFC2616]) might change the semantics of the Set-Cookie header field because the %x2C (",") character is used by Set-Cookie in a way that conflicts with such folding.

For the view point of long term sustainability, it might be better to generate "Set-Cookie" headers one for each headers.set or headers.add call.

2:
I just completed a cookie based HttpSessionManager library which is almost equivalent to the HttpSession interface of Java Servlet. It works fine so far. It would be nice if dart:io had this kind of HttpSession interface (including URI rewrite based session also) and following methods were included in the HttpRequest interface:
 getSession
 getRequestedSessionId
 isRequestedSessionIdValid

To try my cookie based HttpSessionManager library:
(1) From https://gist.github.com/2755552, download, decompress and rename the folder like HttpSessionLibrary.
(2) Open the folder from Dart Editor.
(3) Run HttpSessionTestServer.dart or SimpleShoppingCartServer.dart as a server.
(4) Access the server from your browser as http://localhost:8080/SessionTest or http://localhost:8080/GooSushi

@sgjesse
Copy link
Contributor

sgjesse commented May 29, 2012

I r7943 (http://code.google.com/p/dart/source/detail?r=7943) support for cookies where added to the HTTP server. The change provides a Cookie class for representing cookies in both server and client. It also includes support for non-folding of specific headers (default for Set-Cookie).


Set owner to @sgjesse.
Added Area-IO, Triaged labels.

@DartBot
Copy link
Author

DartBot commented May 29, 2012

This comment was originally written by TerryMit...@gmail.com


I am happy to know that the item 1 is already in progress.
 
Please consider to incorporate HttpSession into the dart:io as described in the item 2. Third party Http session mechanism cannot prevent the session ID (DSESSIONID) in a cookie header to be manipulated by the application.

@madsager
Copy link
Contributor

madsager commented Jun 7, 2012

Added this to the Later milestone.

@sgjesse
Copy link
Contributor

sgjesse commented Jun 8, 2012

Changed the title to: "Add session object to HTTP library".

@DartBot
Copy link
Author

DartBot commented Jul 24, 2012

This comment was originally written by TerryMitsuok...@gmail.com


I deleted the Gist by mistake. New Gist (recent API changes incorporated) address is: https://gist.github.com/2941231

@sgjesse
Copy link
Contributor

sgjesse commented Oct 4, 2012

Set owner to @Skabet.
Added Started label.

@andersjohnsen
Copy link

Support for sessions have now been added to the HTTP server. See http://api.dartlang.org/docs/bleeding_edge/dart_io/HttpRequest.html#session for more info.


Removed this from the Later milestone.
Added this to the M2 milestone.
Added Fixed label.

@kevmoo
Copy link
Member

kevmoo commented May 14, 2014

Removed Area-IO label.
Added Area-Library, Library-IO labels.

@DartBot DartBot added Type-Defect area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries. library-io labels May 14, 2014
@DartBot DartBot added this to the M2 milestone May 14, 2014
copybara-service bot pushed a commit that referenced this issue Dec 5, 2022
Revisions updated by `dart tools/rev_sdk_deps.dart`.

dartdoc (https://github.com/dart-lang/dartdoc/compare/dc502d0..4d7dc93):
  4d7dc93b  2022-12-05  dependabot[bot]  Bump github/codeql-action from 2.1.31 to 2.1.35 (#3263)
  bcf8b6e8  2022-12-05  Parker Lougheed  Weight enums the same as classes for searching (#3260)
  7d95578b  2022-12-04  Parker Lougheed  Update template descriptions (#3258)
  d558f043  2022-12-04  Parker Lougheed  Fix error when using base element href (#3256)
  c3663762  2022-12-04  Parker Lougheed  Add unnecessary override ignore to fix build (#3257)

http (https://github.com/dart-lang/http/compare/976bd56..46a7708):
  46a7708  2022-12-02  Brian Quinlan  Remove binary artifact (#833)

sync_http (https://github.com/dart-lang/sync_http/compare/f5c1f18..8622614):
  8622614  2022-12-02  Kevin Moore  blast_repo fixes (#32)

test (https://github.com/dart-lang/test/compare/f3d80a6..4dceb87):
  4dceb87c  2022-12-01  Nate Bosch  Ignore some usage of dperecated errors (#1807)

webdev (https://github.com/dart-lang/webdev/compare/91b8a19..e39506e):
  e39506e  2022-12-05  Anna Gringauze  Pre-warm expression compiler to speed up Flutter Inspector page loading. (#1786)
  9b19b3b  2022-12-02  Elliott Brooks (she/her)  Can save storage objects in both `session` and `local` storage (#1807)
  e75c45e  2022-12-02  Elliott Brooks (she/her)  Injected client adds `isFlutterApp` to global window object (#1806)
  ba5e3ec  2022-12-01  Elliott Brooks (she/her)  `DebugSession` listens to events instead of just sending events (#1804)

Change-Id: I881d02e966b763879df72b29653a9f241b71eb3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/273826
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
copybara-service bot pushed a commit that referenced this issue Jan 19, 2023
This is an accumulation of 12 commits to dartdoc, imported into
dart-lang/sdk across 4 commits, noted below. I've also stripped out
the changes made to any other repository in this DEPS file.

Revisions updated by `dart tools/rev_sdk_deps.dart`.

From cabf333:
dartdoc (https://github.com/dart-lang/dartdoc/compare/eb90a44..1f42216):
  1f422163  2022-12-13  Sam Rawlins  Bump to 6.1.5 (#3274)

From a3b7a76:
  eb90a44c  2022-12-12  Sam Rawlins      Remove annotations from the features section of each element (#3268)
  16126376  2022-12-12  Parker Lougheed  Don't show null in search results when no description (#3273)
  3ff7aa75  2022-12-12  Sam Rawlins      Fix search arrows by using a flat list of suggestions (#3271)
  90264fb4  2022-12-12  dependabot[bot]  Bump github/codeql-action from 2.1.35 to 2.1.36 (#3270)
  bede500d  2022-12-12  Sam Rawlins      Fix remote linking in 2.18 and 3.0.0 (#3267)

From 0c14719:
dartdoc (https://github.com/dart-lang/dartdoc/compare/4d7dc93..f2bb6e9):
  f2bb6e92  2022-12-07  Sam Rawlins  Bump to 6.1.4 (#3266)

From 3a1d7c7:
dartdoc (https://github.com/dart-lang/dartdoc/compare/dc502d0..4d7dc93):
  4d7dc93b  2022-12-05  dependabot[bot]  Bump github/codeql-action from 2.1.31 to 2.1.35 (#3263)
  bcf8b6e8  2022-12-05  Parker Lougheed  Weight enums the same as classes for searching (#3260)
  7d95578b  2022-12-04  Parker Lougheed  Update template descriptions (#3258)
  d558f043  2022-12-04  Parker Lougheed  Fix error when using base element href (#3256)
  c3663762  2022-12-04  Parker Lougheed  Add unnecessary override ignore to fix build (#3257)

Change-Id: I21fc9ecd36db78b7ef420bd179af4907e667557d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279320
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Chisholm <kevinjchisholm@google.com>
This issue was closed.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
area-core-library SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries. library-io
Projects
None yet
Development

No branches or pull requests

5 participants