sgjesse@google.com
1e4c88c97b
Don't to do HTML entity decoding for multi-part form fields
...
The code was trying to do HTML entity decoding on text field values
in multipart form posts. This has been removed as it did not work.
The parsing was expecting HTML entities to always be used, but that is
not the case. Chrome, Firefox and Safari will do it if e.g. the attribute
accept-charset="latin1" is set on the HTML form element, but the default
when accept-charset is not set or is set to utf8 UTF-8 encoding will be
used.
Also when HTML entity encoding is used, the encoding done by the browser
cannot be consistently decoded. E.g. if the value '&#<some large char>' is
entered in a form with accept-charset="latin1" the value in the
multipart/form-data response is '&#ひ' (<some large char> is HTML
entity encoded as ひ), so '&#' is not escaped in any way.
Passing the value returned by the browser into user code without trying to
be clever is the right thing to do.
R=kustermann@google.com
BUG=
Review URL: https://codereview.chromium.org//730203008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41821 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-19 07:41:17 +00:00
sgjesse@google.com
7086214a4e
Handle multipart MIME parsing with no parts
...
The multipart MIME parser did not correctly handle the case where there
was only the final boundary.
R=kustermann@google.com
BUG=
Review URL: https://codereview.chromium.org//739533002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41805 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-18 14:40:00 +00:00
sgjesse@google.com
82ba3ad49b
Fix a number of issues with the Range header handling for serving files
...
* Handling end position after file length
* Handling suffix range longer than file length
* Ignore syntactically invalid Range headers
* Return 416 (Requested range not satisfiable) if start < end
Added tests for these cases.
BUG=http://dartbug.com/21587
R=ajohnsen@google.com , kustermann@google.com
Review URL: https://codereview.chromium.org//721213002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41775 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-17 14:21:09 +00:00
ajohnsen@google.com
979f82002f
Add 'pathPrefix' optional argument to VirtualDirectory constructor.
...
By setting the pathPrefix, all incoming requests are expected to have
its uri starting with the path. Then, before doing resource lookup, the
prefix is trimmed from the path.
BUG=https://code.google.com/p/dart/issues/detail?id=17353
R=kevmoo@google.com
Review URL: https://codereview.chromium.org//424063002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38720 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 06:50:23 +00:00
ajohnsen@google.com
d3411334c8
Fix links of VirtualDirectory.
...
BUG=https://code.google.com/p/dart/issues/detail?id=19717
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//370753002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38010 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-04 12:04:25 +00:00
ajohnsen@google.com
2eb4efb5eb
Don't use å in non-ascii test, as it can have multiple representations.
...
BUG=
Review URL: https://codereview.chromium.org//356843004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37781 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-27 09:47:05 +00:00
ajohnsen@google.com
4c9f0be0fc
Use utf-8 encoding for listing and error page, in http_server VirtualDirectory.
...
BUG=https://code.google.com/p/dart/issues/detail?id=15157
R=ricow@google.com
Review URL: https://codereview.chromium.org//360453004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37779 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-27 09:11:25 +00:00
ajohnsen@google.com
e229ac6db2
Fix long line.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//227133004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34773 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 09:27:27 +00:00
ajohnsen@google.com
2333d0916a
Don't create special path characters on windows.
...
BUG=
Review URL: https://codereview.chromium.org//226183013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34770 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 07:36:14 +00:00
ajohnsen@google.com
75a0668f6d
Fix XSS issues in http_server's dir-listing and error-page.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//225813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34769 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 07:03:24 +00:00
kevmoo@google.com
1e7466a677
pkg/http_server: fixes for unittest deprecations
...
R=ajohnsen@google.com
Review URL: https://codereview.chromium.org//217143002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34506 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-28 16:37:57 +00:00
kevmoo@google.com
a300ce0a1d
pkg/http_server: return future for VirtualDirectory serveRequest
...
Also:
- Return the subscription from serve method
- Bumped version
BUG= https://code.google.com/p/dart/issues/detail?id=15893
BUG= https://code.google.com/p/dart/issues/detail?id=16005
R=ajohnsen@google.com
Review URL: https://codereview.chromium.org//124833003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31701 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-10 19:27:05 +00:00
ajohnsen@google.com
41dfdb599c
Make VirtualDirectory redirect if the directory-path does not end with a tailing slash.
...
BUG=https://code.google.com/p/dart/issues/detail?id=15764
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//119453005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31651 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-09 10:26:54 +00:00
kevmoo@google.com
2c286cf7d0
pkg/http_server: fix broken test
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org//126453002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31573 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-07 21:03:18 +00:00
kevmoo@google.com
4f64d474ef
pkg/http_server more virtual dir test cleanup
...
Preparing for https://code.google.com/p/dart/issues/detail?id=15893 fix
R=ajohnsen@google.com
Review URL: https://codereview.chromium.org//120343005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31567 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-07 19:37:27 +00:00
kevmoo@google.com
a8dc1227be
pkg/http_server: follow on to r31466
...
missed up one test, fixed whitespace
R=ajohnsen@google.com
Review URL: https://codereview.chromium.org//102743004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31471 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-06 12:10:53 +00:00
ajohnsen@google.com
989f6e1d5d
Fix Directory path in VirtualDirectory, so it always ends with a platform-specific seperator. That'll make sure Uri.resolve always works.
...
BUG=http://code.google.com/p/dart/issues/detail?id=15764
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//125003002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31469 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-06 10:44:14 +00:00
kevmoo@google.com
3a73a2ed5c
pkg/http_server: virtual dir test cleanup
...
...and test util tweaks
R=ajohnsen@google.com
Review URL: https://codereview.chromium.org//124693002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31466 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-05 22:21:16 +00:00
kevmoo@google.com
e2607cff65
pkg/http_server: removed unused imports
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org//123283003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31464 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-04 04:05:11 +00:00
sgjesse@google.com
c38de04d0c
Change dart:io Platform.script to return a Uri.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//46063010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29651 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 07:29:01 +00:00
whesse@google.com
4f08151090
Revert "Change dart:io Platform.script to return a Uri."
...
This reverts r29619 and r29624. The changes look fine on the buildbot,
but need review before adding to the repository.
BUG=
TBR=sgjesse@google.com
Review URL: https://codereview.chromium.org//52723007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29627 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 02:17:37 +00:00
whesse@google.com
cb0110350a
Change dart:io Platform.script to return a URI. Change all uses of Platform.script to work with the new value.
...
R=floitsch@google.com
Review URL: https://codereview.chromium.org//53313007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29619 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 01:08:11 +00:00
whesse@google.com
69205c207c
Remove uses of Options from pkg, samples, tests, and third_party directories.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//52573002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29552 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-30 15:17:01 +00:00
ajohnsen@google.com
e2434065ce
Expose 'serveFile' on VirtualDirectory.
...
This makes it possible to easy forward directory requets to e.g.
'index.html'.
BUG=http://code.google.com/p/dart/issues/detail?id=14333
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//47513008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29430 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-29 10:17:30 +00:00
ajohnsen@google.com
bc7c3b0301
The request may be canceled by http_body, thus allow that when testing.
...
BUG=https://code.google.com/p/dart/issues/detail?id=14381
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//46043003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29358 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-28 13:20:24 +00:00
ajohnsen@google.com
7ed07c2bc8
Fix typo in http_body_test.
...
BUG=
R=ricow@google.com
Review URL: https://codereview.chromium.org//34423003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28983 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-22 06:03:45 +00:00
ajohnsen@google.com
08239af74a
Wait for server response in http_body_test before closing client and server.
...
BUG=https://code.google.com/p/dart/issues/detail?id=14275
Review URL: https://codereview.chromium.org//34383002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28982 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-22 05:40:40 +00:00
ajohnsen@google.com
31bfc41409
Make setDirectoryHandler and setErrorPageHandler setters, and add a jailRoot property.
...
While being on by default, disabling jailRoot allows following links to
outside the root directory.
BUG=https://code.google.com/p/dart/issues/detail?id=14196,https://code.google.com/p/dart/issues/detail?id=14193
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//31633003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28926 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-21 12:21:04 +00:00
ajohnsen@google.com
2c02feaa38
Expose the HttpRequest object in HttpRequestBody, making all request properties available.
...
BUG=https://code.google.com/p/dart/issues/detail?id=14259
R=sethladd@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//31813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28919 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-21 08:07:11 +00:00
ajohnsen@google.com
86e664e645
Preserve '\' in filenames for uploads, as Windows/IE contains them.
...
BUG=http://code.google.com/p/dart/issues/detail?id=13928
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//26973004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28515 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-11 12:36:14 +00:00
ajohnsen@google.com
326f48d476
Expand usage of defaultEncoding in HttpBody in the http_server package.
...
This fixes a few cases where other default encodings was used. Given
that we operate with the concept of a default encoding, to use that
encoding makes more sense.
BUG=https://code.google.com/p/dart/issues/detail?id=13928
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//26685004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28453 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-10 14:08:55 +00:00
whesse@google.com
428e84e7d4
Use Directory.systemTemp getter in pkg subdirectory of repository.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//25731003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28218 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 13:12:10 +00:00
lrn@google.com
12c9510193
Update implementations to use Object.identityHashCode for identity map/set
...
Update map/set constructors to have an .identity() constructor as well.
R=floitsch@google.com
Review URL: https://codereview.chromium.org//24267023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27869 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-25 09:43:43 +00:00
floitsch@google.com
35d7140e66
Remove Encoding-enum from dart:io and add interface in dart:convert.
...
BUG= http://dartbug.com/6284
BUG= http://dartbug.com/7966
R=nweiz@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//22872012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26632 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-26 10:37:25 +00:00
sgjesse@google.com
353428a918
Remove the Path class from dart:io
...
The Path class in dart:io has been deprecated for some time
now. It was scheduled to be removed on August 11th, so here it
goes.
dart:io still uses the Path class internally, but now it is
private. I will trim it down to what is actually used in a
follow-up change.
R=ahe@google.com , devoncarew@google.com , whesse@google.com
BUG=http://dartbug.com/11666
Review URL: https://codereview.chromium.org//23054008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26181 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-15 10:10:53 +00:00
ajohnsen@google.com
40c7d89d66
Move MimeMultipartTransformer and HttpBodyHandler to mime and http_server packages.
...
BUG=
R=whesse@google.com
Review URL: https://codereview.chromium.org//18438005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24991 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-15 08:40:36 +00:00
ajohnsen@google.com
1a5ccabf14
Correctly url-decode the path segment in the http_server.
...
BUG=
R=lrn@google.com
Review URL: https://codereview.chromium.org//18333003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24677 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-02 11:08:17 +00:00
ajohnsen@google.com
72219cf60b
Don't test links on windows, for http_server.
...
BUG=
Review URL: https://codereview.chromium.org//18050017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24589 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 13:37:38 +00:00
ajohnsen@google.com
4d6cde0779
Add directory-listing to VirtualDirectory.
...
BUG=
R=sgjesse@google.com , whesse@google.com
Review URL: https://codereview.chromium.org//17833003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24584 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 12:49:31 +00:00
ajohnsen@google.com
94f6029199
Add error-page support in VirtualDirectory.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17589012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24378 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 06:00:19 +00:00
ajohnsen@google.com
53badd793a
Add auto-detection of MIME-type in VirtualDirectory.
...
Default charset for text/* is still missing.
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17573011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24328 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 13:05:39 +00:00
ajohnsen@google.com
c9b66a7973
Add new VirtualHost class to http_server package, for handling multiple hosts on multiple sources (HttpServer's).
...
It uses a by-name aproach, and thus depends on the host field to be
present.
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17581002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24318 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 10:07:19 +00:00
ajohnsen@google.com
0539f11c4a
Add support for IfModifiedSince headers, in http_servers' VirtualDirectory.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17582002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24314 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 09:23:33 +00:00
ajohnsen@google.com
8a687aab84
Don't test links on Windows, as we can't create relative links, in http_server.
...
BUG=
Review URL: https://codereview.chromium.org//17570006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24312 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 09:07:29 +00:00
ajohnsen@google.com
96a8fe6aed
Add support for following links, in VirtualDirectory.
...
A link must be relative, and not escape the 'root' directory. The
implementation is kept conservative, to increase security.
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17582007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24310 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 08:21:51 +00:00
ajohnsen@google.com
bb2980367c
Fix virtual_directory_test and Fail, OK on dart2js/browsers.
...
BUG=
Review URL: https://codereview.chromium.org//16950015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24285 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 12:20:03 +00:00
ajohnsen@google.com
0ef921b335
First push of a new 'http_server' dart package.
...
The package will contain helper-classes for writing http server, such as
VirtualDirectory, VirtualHost etc.
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17544005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24281 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 11:22:31 +00:00