diff options
author | r <r@freesoftwareextremist.com> | 2021-01-17 05:44:07 +0000 |
---|---|---|
committer | r <r@freesoftwareextremist.com> | 2021-01-17 05:44:07 +0000 |
commit | f4620a8c69a71a4e99ed4e51346ec630f7c3aee2 (patch) | |
tree | 9066b66db1f573d3016c1d960cf686690c78736b /service/service.go | |
parent | e8bfd3093b0bf16c2ce56b3905ea640aa26d0127 (diff) | |
download | bloat-f4620a8c69a71a4e99ed4e51346ec630f7c3aee2.tar.gz bloat-f4620a8c69a71a4e99ed4e51346ec630f7c3aee2.zip |
Make redirection work without Referer header
Diffstat (limited to 'service/service.go')
-rw-r--r-- | service/service.go | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/service/service.go b/service/service.go index 088bcf4..01306d0 100644 --- a/service/service.go +++ b/service/service.go @@ -58,9 +58,11 @@ func NewService(clientName string, func getRendererContext(c *client) *renderer.Context { var settings model.Settings var session model.Session + var referrer string if c != nil { settings = c.Session.Settings session = c.Session + referrer = c.url() } else { settings = *model.NewSettings() } @@ -73,6 +75,7 @@ func getRendererContext(c *client) *renderer.Context { CSRFToken: session.CSRFToken, UserID: session.UserID, AntiDopamineMode: settings.AntiDopamineMode, + Referrer: referrer, } } @@ -545,7 +548,7 @@ func (s *service) UserSearchPage(c *client, if len(results.Statuses) == 20 { offset += 20 - nextLink = fmt.Sprintf("/usersearch/%s?q=%s&offset=%d", id, + nextLink = fmt.Sprintf("/usersearch/%s?q=%s&offset=%d", id, url.QueryEscape(q), offset) } @@ -608,7 +611,7 @@ func (s *service) SearchPage(c *client, if (qType == "accounts" && len(results.Accounts) == 20) || (qType == "statuses" && len(results.Statuses) == 20) { offset += 20 - nextLink = fmt.Sprintf("/search?q=%s&type=%s&offset=%d", + nextLink = fmt.Sprintf("/search?q=%s&type=%s&offset=%d", url.QueryEscape(q), qType, offset) } @@ -721,7 +724,7 @@ func (s *service) NewSession(instance string) (rurl string, sid string, err erro return } -func (s *service) Signin(c *client, code string) (token string, +func (s *service) Signin(c *client, code string) (token string, userID string, err error) { if len(code) < 1 { @@ -747,7 +750,7 @@ func (s *service) Signout(c *client) (err error) { return } -func (s *service) Post(c *client, content string, replyToID string, +func (s *service) Post(c *client, content string, replyToID string, format string, visibility string, isNSFW bool, files []*multipart.FileHeader) (id string, err error) { |