kevmoo@google.com
4e87f2a87c
pkg/http_server: move to multi-lib layout
...
Dependencies between features are now crystal clear
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//756493002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41936 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-24 18:14:19 +00:00
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
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
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
nweiz@google.com
02cf36609a
Add an http_multi_server package.
...
This package supports using the same server class for multiple bound interfaces.
In particular, it's useful for binding both IPv4 and IPv6 loopback interfaces.
R=rnystrom@google.com
BUG=19147
Review URL: https://codereview.chromium.org//311233004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37023 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-05 00:43:37 +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
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
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
sethladd@google.com
fed1b85164
move contents of readme into library docs
...
BUG=
R=ajohnsen@google.com
Review URL: https://codereview.chromium.org//113733002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31104 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-12 17:12:21 +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
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
e598c1c6e2
Fix comment.
...
BUG=
Review URL: https://codereview.chromium.org//31633005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28922 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-21 08:53:03 +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
floitsch@google.com
dc9c5f42ed
Redo StreamTransformers so they work with Stack traces.
...
Since this involved a breaking change I cleaned up more of the
StreamTransformer API.
This CL also deprecates the getAttachedStackTrace method.
R=ajohnsen@google.com , lrn@google.com , nweiz@google.com , rnystrom@google.com
Review URL: https://codereview.chromium.org//25354003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28562 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-12 12:34:34 +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
floitsch@google.com
4be547c705
Adapt streams for additional stackTrace argument.
...
R=lrn@google.com
Review URL: https://codereview.chromium.org//25094002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28511 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-11 12:02:20 +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
ajohnsen@google.com
1dba2c2cab
Change Uri methods taking a decode argument, to now take an encoding.
...
This finished the integration of dart:convert into Uri.
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//24122002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27426 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-12 11:09:38 +00:00
floitsch@google.com
74da0c7286
Remove usage of dart:json.
...
R=jmesserly@google.com , lrn@google.com , nweiz@google.com , rnystrom@google.com
Review URL: https://codereview.chromium.org//23596007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26789 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-28 14:05:11 +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
b2cf4de3ef
Fix editor warnings in http_server and mime.
...
BUG=
Review URL: https://codereview.chromium.org//19158002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24992 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-15 09:11:06 +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
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
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
3514a89c19
Use toNativePath() in http_server pkg, to get the native path string on Windows.
...
BUG=
Review URL: https://codereview.chromium.org//17550004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24283 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 11:54:52 +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