Hello community, here is the log from the commit of package go-web.go for openSUSE:Factory checked in at 2012-01-19 09:42:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/go-web.go (Old) and /work/SRC/openSUSE:Factory/.go-web.go.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go-web.go", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/go-web.go/go-web.go.changes 2011-10-06 17:22:01.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.go-web.go.new/go-web.go.changes 2012-01-19 09:42:25.000000000 +0100 @@ -1,0 +2,5 @@ +Tue Dec 13 13:20:21 UTC 2011 - [email protected] + +- Apply fixes for weekly.2011-12-02 changes + +------------------------------------------------------------------- Old: ---- web.go-0.0.0+git20110915.tar.bz2 New: ---- web.go-0.0.0+git20111213.tar.bz2 web.go-weekly-fixes.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ go-web.go.spec ++++++ --- /var/tmp/diff_new_pack.A4whyG/_old 2012-01-19 09:42:26.000000000 +0100 +++ /var/tmp/diff_new_pack.A4whyG/_new 2012-01-19 09:42:26.000000000 +0100 @@ -2,7 +2,7 @@ # spec file for package go-web.go # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. -# Copyright (c), 2011, Sascha Peilicke <[email protected]> +# Copyright (c) 2011 Sascha Peilicke <[email protected]> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,13 +19,14 @@ Name: go-web.go -Version: 0.0.0+git20110915 -Release: 1 +Version: 0.0.0+git20111213 +Release: 0 Summary: A simple framework to write webapps in Go -Group: Development/Languages/Other License: MIT +Group: Development/Languages/Other Url: http://github.com/hoisie/web.go Source0: web.go-%{version}.tar.bz2 +Patch0: web.go-weekly-fixes.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: go-devel %{go_provides} @@ -38,10 +39,12 @@ %prep %setup -q -n web.go +%patch0 -p1 %build %install +gofix *.go %{go_make_install} %check ++++++ web.go-0.0.0+git20110915.tar.bz2 -> web.go-0.0.0+git20111213.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/web.go/request.go new/web.go/request.go --- old/web.go/request.go 2011-10-06 13:50:51.000000000 +0200 +++ new/web.go/request.go 2011-12-13 10:51:40.000000000 +0100 @@ -1,7 +1,6 @@ package web import ( - "container/vector" "fmt" "http" "io" @@ -68,7 +67,6 @@ req := Request{ Method: hr.Method, - RawURL: hr.RawURL, URL: hr.URL, Proto: hr.Proto, ProtoMajor: hr.ProtoMajor, @@ -140,7 +138,6 @@ } func parseForm(m map[string][]string, query string) (err os.Error) { - data := make(map[string]*vector.StringVector) for _, kv := range strings.Split(query, "&") { kvPair := strings.SplitN(kv, "=", 2) @@ -154,16 +151,11 @@ err = e } - vec, ok := data[key] + vec, ok := m[key] if !ok { - vec = new(vector.StringVector) - data[key] = vec + vec = []string{} } - vec.Push(value) - } - - for k, vec := range data { - m[k] = vec.Copy() + m[key] = append(vec, value) } return @@ -208,17 +200,19 @@ if !ok { return os.NewError("Missing Boundary") } + reader := multipart.NewReader(r.Body, boundary) r.Files = make(map[string]filedata) for { part, err := reader.NextPart() + if part == nil && err == os.EOF { + break + } + if err != nil { return err } - if part == nil { - break - } //read the data data, _ := ioutil.ReadAll(part) //check for the 'filename' param @@ -234,8 +228,8 @@ if params["filename"] != "" { r.Files[name] = filedata{params["filename"], data} } else { - var params vector.StringVector = r.FullParams[name] - params.Push(string(data)) + var params []string = r.FullParams[name] + params = append(params, string(data)) r.FullParams[name] = params } @@ -244,6 +238,7 @@ return &badStringError{"unknown Content-Type", ct} } } + if queryParams != "" { err = parseForm(r.FullParams, queryParams) if err != nil { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/web.go/web.go new/web.go/web.go --- old/web.go/web.go 2011-10-06 13:03:57.000000000 +0200 +++ new/web.go/web.go 2011-12-13 10:51:40.000000000 +0100 @@ -2,7 +2,6 @@ import ( "bytes" - "container/vector" "crypto/hmac" "encoding/base64" "fmt" @@ -201,10 +200,10 @@ } if fv, ok := handler.(reflect.Value); ok { - s.routes.Push(route{r, cr, method, fv}) + s.routes = append(s.routes, route{r, cr, method, fv}) } else { fv := reflect.ValueOf(handler) - s.routes.Push(route{r, cr, method, fv}) + s.routes = append(s.routes, route{r, cr, method, fv}) } } @@ -326,8 +325,8 @@ return } - for i := 0; i < s.routes.Len(); i++ { - route := s.routes.At(i).(route) + for i := 0; i < len(s.routes); i++ { + route := s.routes[i] cr := route.cr //if the methods don't match, skip this handler (except HEAD can be used in place of GET) if req.Method != route.method && !(req.Method == "HEAD" && route.method == "GET") { @@ -343,21 +342,16 @@ continue } - var args vector.Vector + var args []reflect.Value handlerType := route.handler.Type() if requiresContext(handlerType) { - args.Push(reflect.ValueOf(&ctx)) + args = append(args, reflect.ValueOf(&ctx)) } for _, arg := range match[1:] { - args.Push(reflect.ValueOf(arg)) + args = append(args, reflect.ValueOf(arg)) } - valArgs := make([]reflect.Value, args.Len()) - for i := 0; i < args.Len(); i++ { - valArgs[i] = args.At(i).(reflect.Value) - } - - ret, err := s.safelyCall(route.handler, valArgs) + ret, err := s.safelyCall(route.handler, args) if err != nil { //fmt.Printf("%v\n", err) //there was an error or panic while calling the handler @@ -406,7 +400,7 @@ type Server struct { Config *ServerConfig - routes vector.Vector + routes []route Logger *log.Logger //save the listener so it can be closed l net.Listener ++++++ web.go-weekly-fixes.patch ++++++ ++++ 1572 lines (skipped) -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
