http2/server.go (18 lines): - line 5: // TODO: turn off the serve goroutine when idle, so - line 17: // TODO (maybe): add a mechanism for Handlers to going into - line 58: defaultMaxStreams = 250 // TODO: make this 100 as the GFE seems to? - line 90: // TODO: implement - line 177: // TODO: if anybody asks, add a Server field, and remember to define the - line 445: // TODO: optionally enforce? Or enforce at the time we receive - line 653: // TODO: remove this helper function once http2 can use build - line 669: // TODO: remove this string search and be more like the Windows - line 989: timer := time.NewTimer(prefaceTimeout) // TODO: configurable on *Server? - line 1216: // reading data (see possible TODO at top of - line 1327: // TODO: configurable? - line 1371: // TODO: could we also get into this state if - line 1376: // TODO: add CloseWrite to crypto/tls.Conn first - line 1580: // TODO: judging by RFC 7540, Section 6.5.3 each SETTINGS frame should be - line 1936: // TODO: send more details to the peer somehow. But http2 has - line 2376: // TODO: adjust buffer writing sizes based on server config, frame size updates from peer, etc - line 2473: // TODO: remove more Connection-specific header fields here, in addition - line 2718: // TODO: send a RST_STREAM http2/transport.go (13 lines): - line 679: // TODO: adjust this writer size to account for frame size + - line 694: // TODO: SetMaxDynamicTableSize, SetMaxDynamicTableSizeLimit on - line 918: // TODO: do clients send GOAWAY too? maybe? Just Close: - line 1396: // TODO: write h12Compare test showing whether - line 2037: // TODO: also do this if we've written the headers but not - line 2305: // TODO: care? unlike http/1, it won't mess up our framing, so it's - line 2309: // TODO: care? unlike http/1, it won't mess up our framing, so it's - line 2356: // TODO: ConnectionError might be overly harsh? Check. - line 2496: // TODO: be stricter here? only silently ignore things which - line 2595: // TODO: check that any declared content-length matches, like - line 2639: // TODO: deal with GOAWAY more. particularly the error code - line 2757: // TODO: return error if server tries to RST_STREAM an idle stream - line 2851: // TODO: map err to more interesting error codes, once the idna/idna10.0.0.go (11 lines): - line 34: // TODO: the current error handling is, in my opinion, the least opinionated. - line 316: // TODO: profiles - line 348: // TODO: allow for a quick check of the tables data. - line 429: // TODO: consider first doing a quick check to see if any of these checks - line 438: // TODO: filter need for normalization in loop below. - line 450: // TODO: handle the NV8 defined in the Unicode idna data set to allow - line 466: // TODO: also store bidi info for mapped data. This is possible, but a bit - line 533: // TODO: the punycode converters require strings as input. - line 621: // TODO: handle V2008 - line 631: // TODO: detect whether string may have to be normalized in the following - line 729: // TODO: merge the use of this in the trie. html/parse.go (9 lines): - line 190: // TODO: Since both RAWTEXT and RCDATA states are treated as tokenizer's part - line 466: // TODO: remove this divergence from the HTML5 spec. - line 481: // TODO: remove this divergence from the HTML5 spec. - line 487: // TODO: remove this divergence from the HTML5 spec. - line 666: // TODO: remove this divergence from the HTML5 spec. - line 704: // TODO: remove this further divergence from the HTML5 spec. - line 1192: // TODO: remove this divergence from the HTML5 spec. - line 1214: // TODO: this is a fairly literal line-by-line translation of that algorithm. - line 1938: // TODO: remove this divergence from the HTML5 spec. http2/h2i/h2i.go (6 lines): - line 202: // TODO: we're being lazy for now, only supporting tab completion at the end. - line 238: // TODO: auto-complete any common prefix - line 392: // TODO: flags for restricting window size, to force CONTINUATION - line 423: app.logf("TODO: h2i doesn't yet write CONTINUATION frames. Copy it from transport.go") - line 461: // TODO: if the user uses h2i to send a SETTINGS frame advertising - line 470: // TODO: if the user uses h2i to send a SETTINGS frame advertising idna/idna9.0.0.go (6 lines): - line 33: // TODO: the current error handling is, in my opinion, the least opinionated. - line 318: // TODO: profiles - line 431: // TODO: handle the NV8 defined in the Unicode idna data set to allow - line 483: // TODO: the punycode converters require strings as input. - line 571: // TODO: handle V2008 - line 677: // TODO: merge the use of this in the trie. http2/write.go (5 lines): - line 34: // TODO: decide whether to a) use this in the client code (which didn't - line 199: // TODO: this is a common one. It'd be nice to return true - line 264: // TODO: see writeResHeaders.staysWithinBuffer - line 359: // TODO: return an error? golang.org/issue/14048 - line 363: // TODO: more of "8.1.2.2 Connection-Specific Header Fields" webdav/file.go (5 lines): - line 149: // TODO: Enforce file permissions. - line 155: // TODO: clean up and rationalize the walk/find code. - line 547: // TODO: How to handle offsets greater than the size of system int? - line 667: // TODO: section 9.8.3 says that "Note that an infinite-depth COPY of /A/ - line 718: // TODO: MultiStatus. bpf/constants.go (4 lines): - line 67: // TODO: should we prune this list? Some of these extensions seem - line 83: // TODO: better documentation. How nice an API do we want to - line 108: // TODO: figure out what this rxhash actually is. - line 118: // TODO: I think this might be a lie: it reads bit 0x1000 of the http2/client_conn_pool.go (4 lines): - line 41: // TODO: use singleflight for dialing and addConnCalls? - line 45: mu sync.Mutex // TODO: maybe switch to RWMutex - line 46: // TODO: add support for sharing conns based on cert names - line 250: // TODO: don't close a cc if it was just added to the pool http2/frame.go (3 lines): - line 282: // TODO: let getReadBuf be configurable, and use a less memory-pinning - line 288: maxWriteSize uint32 // zero means unlimited; TODO: implement - line 319: // TODO: track which type of frame & with which flags was sent http2/hpack/hpack.go (3 lines): - line 146: // TODO: add method *Decoder.Reset(maxSize, emitFunc) to let callers re-use Decoders and their - line 216: // TODO: remove this method and make it incremental later? This is - line 455: if m >= 63 { // TODO: proper overflow check. making this up. webdav/webdav.go (3 lines): - line 199: // TODO: check locks for read-only access?? - line 236: // TODO: return MultiStatus where appropriate. - line 463: // TODO: detect missing intermediate dirs and return http.StatusConflict? webdav/lock.go (2 lines): - line 105: // TODO: does the "verbatim" nature play well with XML namespaces? - line 193: // TODO: support Condition.Not and Condition.ETag. context/context.go (2 lines): - line 49: // TODO returns a non-nil, empty Context. Code should use context.TODO when - line 52: // parameter). TODO is recognized by static analysis tools that determine http2/writesched.go (1 line): - line 201: // TODO: less copy-happy queue. http2/h2c/h2c.go (1 line): - line 461: // TODO Implement Section 8.3 http2/databuffer.go (1 line): - line 20: // TODO: Benchmark to determine if the pools are necessary. The GC may have html/charset/charset.go (1 line): - line 102: // TODO: change default depending on user's locale? http2/http2.go (1 line): - line 256: // TODO: pick a less arbitrary value? this is a bit under webdav/prop.go (1 line): - line 154: // TODO: The lockdiscovery property requires LockSystem to list the publicsuffix/list.go (1 line): - line 47: // TODO: specify case sensitivity and leading/trailing dot behavior for http/httpproxy/proxy.go (1 line): - line 298: // TODO: Consider removing this check after verifying performance is okay. webdav/internal/xml/read.go (1 line): - line 346: // TODO: For now, simply ignore the field. In the near trace/histogram.go (1 line): - line 37: // TODO: assert invariant http/httpguts/httplex.go (1 line): - line 122: // TODO: consider using strings.Trim(x, " \t") instead, trace/trace.go (1 line): - line 1107: {{/* TODO: include traceID/spanID */}} webdav/internal/xml/marshal.go (1 line): - line 425: // TODO If the URL is an existing prefix, we could webdav/internal/xml/xml.go (1 line): - line 1979: // TODO: this parsing is somewhat lame and not exact. idna/trie.go (1 line): - line 19: // TODO: support and handle two-byte inline masks