1
0
mirror of https://github.com/golang/go synced 2024-10-07 05:11:22 -06:00
Commit Graph

133 Commits

Author SHA1 Message Date
James Gray
ccd63c3c19 net/http: non-keepalive connections close successfully
Connections did not close if Request.Close or Response.Close was true. This meant that if the user wanted the connection to close, or if the server requested it via "Connection: close", the connection would not be closed.

Fixes #1967.

R=golang-dev, rsc, bradfitz
CC=golang-dev
https://golang.org/cl/6201044
2012-05-18 10:34:37 -07:00
Brad Fitzpatrick
61a8eb07f8 net/http: ignore paths on CONNECT requests in ServeMux
Fixes #3538

R=golang-dev, adg, rsc
CC=golang-dev
https://golang.org/cl/6117058
2012-04-25 12:46:16 -07:00
Gustavo Niemeyer
733b51d996 net/http: revert 97d027b3aa68
Revert the following change set:

        changeset:   13018:97d027b3aa68
        user:        Gustavo Niemeyer <gustavo@niemeyer.net>
        date:        Mon Apr 23 22:00:16 2012 -0300
        summary:     net/http: allow clients to disable keep-alive

This broke a test on Windows 64 and somebody else
will have to check.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6112054
2012-04-25 02:32:51 -03:00
Gustavo Niemeyer
cc5cbee1b6 net/http: allow clients to disable keep-alive
Fixes #3540.

R=golang-dev, bradfitz, gustavo
CC=golang-dev
https://golang.org/cl/5996044
2012-04-23 22:00:16 -03:00
Pascal S. de Kloe
b678c19785 net/http: lex cleanup
R=rsc, bradfitz
CC=golang-dev
https://golang.org/cl/6099043
2012-04-23 10:26:10 -07:00
Colby Ranger
a6d4471b2b net/http/httputil: Made reverseproxy test less flaky.
The reverseproxy test depended on the behavior of
runtime.NumGoroutines(), which makes no guarantee when
goroutines are reaped. Instead, modify the flushLoop()
to invoke a callback when it returns, so the exit
from the loop can be tested, instead of the number
of gorountines running.

R=bradfitz
CC=golang-dev
https://golang.org/cl/6068046
2012-04-20 09:31:23 -07:00
Shenghou Ma
acb550504f net/http: add example for FileServer to mention StripPrefix
Fixes #3530.

R=golang-dev, rsc, bradfitz
CC=golang-dev
https://golang.org/cl/6032052
2012-04-20 00:41:10 +08:00
Colby Ranger
5694ebf057 net/http/httputil: Clean up ReverseProxy maxLatencyWriter goroutines.
When FlushInterval is specified on ReverseProxy, the ResponseWriter is
wrapped with a maxLatencyWriter that periodically flushes in a
goroutine. That goroutine was not being cleaned up at the end of the
request. This resulted in a panic when Flush() was being called on a
ResponseWriter that was closed.

The code was updated to always send the done message to the flushLoop()
goroutine after copying the body. Futhermore, the code was refactored to
allow the test to verify the maxLatencyWriter behavior.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6033043
2012-04-18 11:33:02 -07:00
Nigel Tao
6277656d69 html, exp/html: escape ' and " as &#39; and &#34;, since IE8 and
below do not support &apos;.

This makes package html consistent with package text/template's
HTMLEscape function.

Fixes #3489.

R=rsc, mikesamuel, dsymonds
CC=golang-dev
https://golang.org/cl/5992071
2012-04-12 09:35:43 +10:00
Brad Fitzpatrick
a4e6197b91 net/http: couple more triv.go modernizations
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5834049
2012-03-15 10:06:25 -07:00
Robert Hencke
1c224ab9dd net/http: ensure triv.go compiles and runs
R=golang-dev, bradfitz, dsymonds, dave, r
CC=golang-dev
https://golang.org/cl/5795069
2012-03-14 20:25:57 -07:00
Brad Fitzpatrick
e8deb3f828 net/http: return appropriate errors from ReadRequest
Fixes #3298

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5783080
2012-03-12 10:42:25 -07:00
Brad Fitzpatrick
b2e9f425b9 net/http: fix crash with Transport.CloseIdleConnections
Thanks Michael Lore for the bug report!

Fixes #3266

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5754068
2012-03-09 16:27:32 -08:00
Robert Griesemer
56cae1c230 all: gofmt -w -s src misc
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5781058
2012-03-08 10:48:51 -08:00
Robert Griesemer
7c6654aa70 all: fixed various typos
(Semi-automatically detected.)

R=golang-dev, remyoudompheng, r
CC=golang-dev
https://golang.org/cl/5715052
2012-03-01 14:56:05 -08:00
Alex Brainman
ed238ca4e5 os: release process handle at the end of windows (*Process).Wait
Fixes #3154.

R=golang-dev, bradfitz, rsc
CC=golang-dev
https://golang.org/cl/5707052
2012-03-01 17:36:35 +11:00
Brad Fitzpatrick
8f0bfc5a29 net/http/httptest: make Server.Close wait for outstanding requests to finish
Might fix issue 3050

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5708066
2012-02-29 12:18:26 -08:00
Brad Fitzpatrick
3684ae9da0 net/http: make a test more paranoid & reliable on Windows, maybe.
Part of diagnosing issue 3050.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5707056
2012-02-29 09:53:20 -08:00
Brad Fitzpatrick
f5df930618 net/http: fix ProxyFromEnvironment bug, docs, add tests
Fixes #2919 I believe. (gets as far as sending a CONNECT
request to my little dummy logging proxy that doesn't actually
support CONNECT now.)  Untested with a real CONNECT-supporting
proxy, though.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5708055
2012-02-29 09:52:52 -08:00
Brad Fitzpatrick
02b124e59a net/http/httputil: make https DumpRequestOut less racy
It's still racy in that it mutates req.Body, though.  *shrug*

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5709054
2012-02-29 09:52:28 -08:00
Brad Fitzpatrick
1b1039a1c1 net/http/httputil: fix DumpRequestOut on https URLs
Don't try to do an SSL negotiation with a *bytes.Buffer.

Fixes #3135

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5709050
2012-02-28 16:03:32 -08:00
Rémy Oudompheng
c10f50859e all: remove various unused unexported functions and constants.
R=golang-dev, minux.ma, rsc
CC=golang-dev, remy
https://golang.org/cl/5702050
2012-02-28 21:48:03 +01:00
Brad Fitzpatrick
761f946617 net/http/cgi: add an empty response test
New test for http://code.google.com/p/go/source/detail?r=a73ba18

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5701046
2012-02-26 14:46:22 -08:00
Russ Cox
d8ccebfffa net/http/cgi: fix empty response
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5693058
2012-02-24 15:10:46 -05:00
David Symonds
5fb82d8cf6 net/http: add overlooked 418 status code, per RFC 2324.
R=golang-dev, bradfitz, rsc
CC=golang-dev
https://golang.org/cl/5688067
2012-02-24 11:55:31 +11:00
Brad Fitzpatrick
a5b5964524 net/http: some more cookie tests
Including a commented-out test we might
tackle later, after seeing what browsers do.

R=dsymonds, rsc
CC=golang-dev
https://golang.org/cl/5694045
2012-02-23 15:51:53 +11:00
Russ Cox
ebae73bb24 pprof: add Profile type
Makes it possible for client code to maintain its own profiles,
and also reduces the API surface by giving us a type that
models built-in profiles.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5684056
2012-02-22 21:46:12 -05:00
Brad Fitzpatrick
9c8923f7dc net/http: update test to use time.Duration better
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5688063
2012-02-22 11:22:09 +11:00
Brad Fitzpatrick
dc19b94b21 net/http: add optional Server.TLSConfig field
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5688047
2012-02-21 10:24:15 +11:00
Russ Cox
b27bd42a9a net/url: API
Convert cryptotype to general go1rename fix.
Add os.Exec -> syscall.Exec fix along with new
URL fixes.

Fixes #2946.

R=golang-dev, r, dsymonds
CC=golang-dev
https://golang.org/cl/5672072
2012-02-16 23:46:28 -05:00
Rob Pike
56069f0333 os: delete os.EINVAL and so on
The set of errors forwarded by the os package varied with system and
was therefore non-portable.
Three helpers added for portable error checking: IsExist, IsNotExist, and IsPermission.
One or two more may need to come, but let's keep the set very small to discourage
thinking about errors that way.

R=mikioh.mikioh, gustavo, r, rsc
CC=golang-dev
https://golang.org/cl/5672047
2012-02-17 10:04:29 +11:00
David Symonds
4b171e5040 runtime: rename Cgocalls and Goroutines to NumCgoCall and NumGoroutine, respectively.
Update some other docs too.

Update #2955.

R=rsc
CC=golang-dev
https://golang.org/cl/5676060
2012-02-17 08:49:41 +11:00
Brad Fitzpatrick
3a317183a1 net/http: add some examples
R=golang-dev, dsymonds, adg, rogpeppe, bradfitz
CC=golang-dev
https://golang.org/cl/5673052
2012-02-16 10:15:10 +11:00
Brad Fitzpatrick
9578839d60 net/http: fix race in sendfile test
Whoops. Consume the body of the first request
before making the subsequent /quit request.

R=golang-dev, untheoretic
CC=golang-dev
https://golang.org/cl/5674054
2012-02-16 09:27:26 +11:00
Brad Fitzpatrick
c210ddfe2c net/http: make strace test more robust
Apparently some distros don't let you ptrace attach
to your own existing processes.

Run strace on the child directly, instead, which
reportedly is more often allowed, and makes the
code simpler too.

R=golang-dev, n13m3y3r
CC=golang-dev
https://golang.org/cl/5675050
2012-02-15 11:05:51 +11:00
Russ Cox
9f333170bf cmd/go: a raft of fixes
* add -work option to save temporary files (Fixes issue 2980)
* fix go test -i to work with cgo packages (Fixes issue 2936)
* do not overwrite/remove empty directories or non-object
  files during build (Fixes issue 2829)
* remove package main vs package non-main heuristic:
  a directory must contain only one package (Fixes issue 2864)
* to make last item workable, ignore +build tags for files
  named on command line: go build x.go builds x.go even
  if it says // +build ignore.
* add // +build ignore tags to helper programs

R=golang-dev, r, r
CC=golang-dev
https://golang.org/cl/5674043
2012-02-14 16:39:20 -05:00
Shenghou Ma
60e4d5668e cmd/vet: give warning for construct 'Println(os.Stderr, ...)'
also fixes this bug in net/http/httptest.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5654083
2012-02-14 11:24:41 -05:00
Brad Fitzpatrick
adb1a6ce3c net/http: more robust test
Fixes #3014

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5665043
2012-02-14 17:11:12 +11:00
Brad Fitzpatrick
c2a1157680 net/http: re-enable test
Now with a bit more paranoia and lower number of requests
to keep it under the default OS X 256 fd limit.

R=golang-dev, dsymonds, rsc
CC=golang-dev
https://golang.org/cl/5659051
2012-02-14 15:26:09 +11:00
Brad Fitzpatrick
913abfee3b net/http: don't spin on temporary accept failure
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5658049
2012-02-14 15:04:29 +11:00
Russ Cox
569ef7d49e net/http: disable buggy test
Generates an infinite stream (at least >1GB) of:

=== RUN TestTransportPersistConnLeak
2012/02/13 22:20:19 http: Accept error: accept tcp 127.0.0.1:63972:
too many open files
2012/02/13 22:20:19 http: Accept error: accept tcp 127.0.0.1:63972:
too many open files
2012/02/13 22:20:19 http: Accept error: accept tcp 127.0.0.1:63972:
too many open files
2012/02/13 22:20:19 http: Accept error: accept tcp 127.0.0.1:63972:
too many open files
2012/02/13 22:20:19 http: Accept error: accept tcp 127.0.0.1:63972:
too many open files
2012/02/13 22:20:19 http: Accept error: accept tcp 127.0.0.1:63972:
too many open files
2012/02/13 22:20:19 http: Accept error: accept tcp 127.0.0.1:63972:
too many open files
2012/02/13 22:20:19 http: Accept error: accept tcp 127.0.0.1:63972:
too many open files
2012/02/13 22:20:19 http: Accept error: accept tcp 127.0.0.1:63972:
too many open files
2012/02/13 22:20:19 http: Accept error: accept tcp 127.0.0.1:63972:
too many open files

R=bradfitz
CC=golang-dev
https://golang.org/cl/5661052
2012-02-13 22:23:04 -05:00
Brad Fitzpatrick
d0a7d01ff2 net/http: fix client goroutine leak with persistent connections
Thanks to Sascha Matzke & Florian Weimer for diagnosing.

R=golang-dev, adg, bradfitz, kevlar
CC=golang-dev
https://golang.org/cl/5656046
2012-02-14 12:48:56 +11:00
Brad Fitzpatrick
b8df36182d net/http: add a Linux-only sendfile test
I remembered that sendfile support was lacking a test.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5652079
2012-02-14 09:34:52 +11:00
Shenghou Ma
9a4487458a all: update 'gotest' to 'go test'
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5645099
2012-02-13 13:58:17 -05:00
Russ Cox
35586f718c os/signal: selective signal handling
Restore package os/signal, with new API:
Notify replaces Incoming, allowing clients
to ask for certain signals only.  Also, signals
go to everyone who asks, not just one client.

This could plausibly move into package os now
that there are no magic side effects as a result
of the import.

Update runtime for new API: move common Unix
signal handling code into signal_unix.c.
(It's so easy to do this now that we don't have
to edit Makefiles!)

Tested on darwin,linux 386,amd64.

Fixes #1266.

R=r, dsymonds, bradfitz, iant, borman
CC=golang-dev
https://golang.org/cl/3749041
2012-02-13 13:52:37 -05:00
Hong Ruiqi
c58b6ad022 net/http: use mtime < t+1s to check for unmodified
The Date-Modified header truncates sub-second precision, so
use mtime < t+1s instead of mtime <= t to check for unmodified.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5655052
2012-02-12 23:45:19 -05:00
Rob Pike
daa7bd8ec6 net/http/pprof: link to blog post
Fixes #2943.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5649079
2012-02-13 15:24:06 +11:00
Russ Cox
fb2caa3244 net/http: fix http_proxy parsing
Fixes #2919.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5645089
2012-02-12 23:19:50 -05:00
Russ Cox
d9da346078 net/http: document use of DetectContentType
Fixes #2365.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5653070
2012-02-12 23:14:48 -05:00
Yves Junqueira
7531e8cb39 pprof: fix import path in the documentation
R=golang-dev, n13m3y3r
CC=golang-dev
https://golang.org/cl/5649072
2012-02-12 12:38:51 -02:00