Ver Código Fonte

Extract next link if there is one

Lucas Stadler 10 anos atrás
pai
commit
7eb856b0a5
1 arquivos alterados com 21 adições e 1 exclusões
  1. 21 1
      go/unpaginate/unpaginate.go

+ 21 - 1
go/unpaginate/unpaginate.go

@ -7,6 +7,7 @@ import (
7 7
	"fmt"
8 8
	"net/http"
9 9
	"os"
10
	"strings"
10 11
)
11 12
12 13
func main() {
@ -64,5 +65,24 @@ func main() {
64 65
		os.Exit(1)
65 66
	}
66 67
67
	os.Stdout.WriteString("\n]")
68
	os.Stdout.WriteString("\n]\n")
69
70
	next := ""
71
	links := res.Header.Get("Link")
72
	if links != "" {
73
		for _, link := range strings.Split(links, ",") {
74
			link := strings.TrimSpace(link)
75
			start := strings.Index(link, "<")
76
			end := strings.Index(link, ">")
77
			if start != -1 && end != -1 && start < end &&
78
				strings.HasSuffix(link, "rel=\"next\"") {
79
				next = link[start+1 : end]
80
				break
81
			}
82
		}
83
	}
84
85
	if next != "" {
86
		fmt.Fprintf(os.Stderr, next)
87
	}
68 88
}