11package paperswithcode_go
22
33import (
4- "fmt"
5- "strings"
6-
74 "github.com/codingpot/paperswithcode-go/v2/models"
5+ "net/url"
6+ "strconv"
87)
98
109// PaperList returns multiple papers.
@@ -30,20 +29,21 @@ type PaperListParams struct {
3029}
3130
3231func (p PaperListParams ) Build () string {
33- var b strings.Builder
34- b .WriteString (fmt .Sprintf ("page=%d&items_per_page=%d" , p .Page , p .ItemsPerPage ))
32+ b := url.Values {}
33+ b .Set ("page" , strconv .Itoa (p .Page ))
34+ b .Set ("items_per_page" , strconv .Itoa (p .ItemsPerPage ))
3535
36- addParamsIfValid (& b , "q" , p .Q )
37- addParamsIfValid (& b , "arxiv_id" , p .ArxivID )
38- addParamsIfValid (& b , "title" , p .Title )
39- addParamsIfValid (& b , "abstract" , p .Abstract )
36+ addParamsIfValid (b , "q" , p .Q )
37+ addParamsIfValid (b , "arxiv_id" , p .ArxivID )
38+ addParamsIfValid (b , "title" , p .Title )
39+ addParamsIfValid (b , "abstract" , p .Abstract )
4040
41- return b .String ()
41+ return b .Encode ()
4242}
4343
44- func addParamsIfValid (b * strings. Builder , key string , value string ) {
44+ func addParamsIfValid (b url. Values , key string , value string ) {
4545 if value != "" {
46- b .WriteString ( fmt . Sprintf ( "&%s=%s" , key , value ) )
46+ b .Set ( key , value )
4747 }
4848}
4949
0 commit comments