• Joe Tsai's avatar
    net/http: document how Request.Cookie deals with duplicate cookies · a09e1de0
    Joe Tsai authored
    RFC 6265, section 4.2.2 says:
    <<<
    Although cookies are serialized linearly in the Cookie header,
    servers SHOULD NOT rely upon the serialization order.  In particular,
    if the Cookie header contains two cookies with the same name (e.g.,
    that were set with different Path or Domain attributes), servers
    SHOULD NOT rely upon the order in which these cookies appear in the
    header.
    >>>
    
    This statement seems to indicate that cookies should conceptually
    be thought of as a map of keys to sets of values (map[key][]value).
    However, in practice, everyone pretty much treats cookies as a
    map[key]value and the API for Request.Cookie seems to indicate that.
    
    We should update the documentation for Request.Cookie to warn the
    user what happens when there is are multiple cookies with the same
    key. I deliberately did not want to say *which* cookie is returned.
    
    Change-Id: Id3e0e24b2b14ca2d9ea8b13f82ba739edaa71cf0
    Reviewed-on: https://go-review.googlesource.com/29364Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    a09e1de0
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
context Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
plugin Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
vendor/golang_org/x Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
cmp.bash Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
naclmake.bash Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...