func locateBoundary(buf, boundaryPrefix []byte) (idx int, complete bool) {
	bpLen := len(boundaryPrefix)
	idx = bytes.Index(buf, boundaryPrefix)
	if idx == -1 {
		return
	}

	// Handle CR if present
	if idx > 0 && buf[idx-1] == '\r' {
		idx--
		bpLen++
	}

	// Fast forward to the end of the boundary prefix
	buf = buf[idx+bpLen:]
	if len(buf) == 0 {
		// Need more bytes to verify completeness
		return
	}
	if len(buf) > 1 {
		if buf[0] == '-' && buf[1] == '-' {
			return idx, true
		}
	}
	buf = bytes.TrimLeft(buf, " \t")
	if len(buf) > 0 {
		if buf[0] == '\r' || buf[0] == '\n' {
			return idx, true
		}
	}

	return
}
func locateBoundary(buf, boundaryPrefix []byte) (idx int, complete bool) {
	bpLen := len(boundaryPrefix)
	idx = bytes.Index(buf, boundaryPrefix)
	if idx == -1 {
		return
	}

	
	if idx > 0 && buf[idx-1] == '\r' {
		idx--
		bpLen++
	}

	
	buf = buf[idx+bpLen:]
	if len(buf) == 0 {
		
		return
	}
	if len(buf) > 1 {
		if buf[0] == '-' && buf[1] == '-' {
			return idx, true
		}
	}
	buf = bytes.TrimLeft(buf, " \t")
	if len(buf) > 0 {
		if buf[0] == '\r' || buf[0] == '\n' {
			return idx, true
		}
	}

	return
}
func locateBoundary ( buf , boundaryPrefix [ ] byte ) ( idx int , complete bool ) { bpLen := len ( boundaryPrefix ) idx = bytes . Index ( buf , boundaryPrefix ) if idx == - 1 { return } // Handle CR if present if idx > 0 && buf [ idx - 1 ] == '\r' { idx -- bpLen ++ } // Fast forward to the end of the boundary prefix buf = buf [ idx + bpLen : ] if len ( buf ) == 0 { // Need more bytes to verify completeness return } if len ( buf ) > 1 { if buf [ 0 ] == '-' && buf [ 1 ] == '-' { return idx , true } } buf = bytes . TrimLeft ( buf , " \t " ) if len ( buf ) > 0 { if buf [ 0 ] == '\r' || buf [ 0 ] == '\n' { return idx , true } } return }
// Locate boundaryPrefix in buf, returning its starting idx. If complete is true, the boundary
// is terminated properly in buf, otherwise it could be false due to running out of buffer, or
// because it is not the actual boundary.
//
// Complete boundaries end in "--" or a newline
Locate boundaryPrefix in buf returning its starting idx . If complete is true the boundary is terminated properly in buf otherwise it could be false due to running out of buffer or because it is not the actual boundary . Complete boundaries end in -- or a newline