Commit e000e3ca authored by Nigel Tao's avatar Nigel Tao

webdav: remove runtime check for Go 1.4 or earlier.

During the Go 1.5 development cycle, this package used to require the
standard library's encoding/xml package from Go 1.5 or later, but
https://go-review.googlesource.com/#/c/12772/ (which was submitted in
July 2015) made an internal fork of encoding/xml, as some
namespace related changes introduced in the Go 1.5 cycle were rolled
back in response to https://github.com/golang/go/issues/11841

Thus, this "go1.4" runtime check is no longer necessary. In the long
term, this package should use the standard library's version, and the
internal fork deleted, once https://github.com/golang/go/issues/13400 is
resolved. We could re-introduce a similar check at that time, although
it could be done at compile time (via a "go1.7" build tag) instead of at
runtime.

Change-Id: I18258443aa3d9b519e23106aedb189f25c35495d
Reviewed-on: https://go-review.googlesource.com/21634Reviewed-by: 's avatarAndrew Gerrand <adg@golang.org>
parent af4fee9d
...@@ -9,35 +9,14 @@ import ( ...@@ -9,35 +9,14 @@ import (
"errors" "errors"
"fmt" "fmt"
"io" "io"
"log"
"net/http" "net/http"
"net/url" "net/url"
"os" "os"
"path" "path"
"runtime"
"strings" "strings"
"time" "time"
) )
// Package webdav's XML output requires the standard library's encoding/xml
// package version 1.5 or greater. Otherwise, it will produce malformed XML.
//
// As of May 2015, the Go stable release is version 1.4, so we print a message
// to let users know that this golang.org/x/etc package won't work yet.
//
// This package also won't work with Go 1.3 and earlier, but making this
// runtime version check catch all the earlier versions too, and not just
// "1.4.x", isn't worth the complexity.
//
// TODO: delete this check at some point after Go 1.5 is released.
var go1Dot4 = strings.HasPrefix(runtime.Version(), "go1.4.")
func init() {
if go1Dot4 {
log.Println("package webdav requires Go version 1.5 or greater")
}
}
type Handler struct { type Handler struct {
// Prefix is the URL path prefix to strip from WebDAV resource paths. // Prefix is the URL path prefix to strip from WebDAV resource paths.
Prefix string Prefix string
......
...@@ -348,10 +348,6 @@ func TestReadPropfind(t *testing.T) { ...@@ -348,10 +348,6 @@ func TestReadPropfind(t *testing.T) {
} }
func TestMultistatusWriter(t *testing.T) { func TestMultistatusWriter(t *testing.T) {
if go1Dot4 {
t.Skip("TestMultistatusWriter requires Go version 1.5 or greater")
}
///The "section x.y.z" test cases come from section x.y.z of the spec at ///The "section x.y.z" test cases come from section x.y.z of the spec at
// http://www.webdav.org/specs/rfc4918.html // http://www.webdav.org/specs/rfc4918.html
testCases := []struct { testCases := []struct {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment