Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions account.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ func (a TwitterApi) VerifyCredentials() (ok bool, err error) {

// Get the user object for the authenticated user. Requests /account/verify_credentials
func (a TwitterApi) GetSelf(v url.Values) (u User, err error) {
response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/account/verify_credentials.json", v, &u, _GET, response_ch}
return u, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/account/verify_credentials.json", v, &u, _GET, ch}
return u, (<-ch).err
}
44 changes: 23 additions & 21 deletions lists.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ func (a TwitterApi) CreateList(name, description string, v url.Values) (list Lis
v.Set("name", name)
v.Set("description", description)

response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/create.json", v, &list, _POST, response_ch}
return list, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/create.json", v, &list, _POST, ch}
return list, (<-ch).err
}

// AddUserToList implements /lists/members/create.json
Expand All @@ -25,9 +25,9 @@ func (a TwitterApi) AddUserToList(screenName string, listID int64, v url.Values)

var addUserToListResponse AddUserToListResponse

response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/members/create.json", v, &addUserToListResponse, _POST, response_ch}
return addUserToListResponse.Users, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/members/create.json", v, &addUserToListResponse, _POST, ch}
return addUserToListResponse.Users, (<-ch).err
}

// AddMultipleUsersToList implements /lists/members/create_all.json
Expand All @@ -36,9 +36,9 @@ func (a TwitterApi) AddMultipleUsersToList(screenNames []string, listID int64, v
v.Set("list_id", strconv.FormatInt(listID, 10))
v.Set("screen_name", strings.Join(screenNames, ","))

response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/members/create_all.json", v, &list, _POST, response_ch}
r := <-response_ch
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/members/create_all.json", v, &list, _POST, ch}
r := <-ch
return list, r.err
}

Expand All @@ -50,29 +50,31 @@ func (a TwitterApi) GetListsOwnedBy(userID int64, v url.Values) (lists []List, e

var listResponse ListResponse

response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/ownerships.json", v, &listResponse, _GET, response_ch}
return listResponse.Lists, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/ownerships.json", v, &listResponse, _GET, ch}
return listResponse.Lists, (<-ch).err
}

// GetListTweets implements /lists/statuses.json
// Returns all tweets from users in a specific list
func (a TwitterApi) GetListTweets(listID int64, includeRTs bool, v url.Values) (tweets []Tweet, err error) {
v = cleanValues(v)
v.Set("list_id", strconv.FormatInt(listID, 10))
v.Set("include_rts", strconv.FormatBool(includeRTs))

response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/statuses.json", v, &tweets, _GET, response_ch}
return tweets, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/statuses.json", v, &tweets, _GET, ch}
return tweets, (<-ch).err
}

// GetList implements /lists/show.json
func (a TwitterApi) GetList(listID int64, v url.Values) (list List, err error) {
v = cleanValues(v)
v.Set("list_id", strconv.FormatInt(listID, 10))

response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/show.json", v, &list, _GET, response_ch}
return list, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/show.json", v, &list, _GET, ch}
return list, (<-ch).err
}

func (a TwitterApi) GetListTweetsBySlug(slug string, ownerScreenName string, includeRTs bool, v url.Values) (tweets []Tweet, err error) {
Expand All @@ -81,7 +83,7 @@ func (a TwitterApi) GetListTweetsBySlug(slug string, ownerScreenName string, inc
v.Set("owner_screen_name", ownerScreenName)
v.Set("include_rts", strconv.FormatBool(includeRTs))

response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/statuses.json", v, &tweets, _GET, response_ch}
return tweets, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/lists/statuses.json", v, &tweets, _GET, ch}
return tweets, (<-ch).err
}
24 changes: 12 additions & 12 deletions media.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ func (a TwitterApi) UploadMedia(base64String string) (media Media, err error) {

var mediaResponse Media

response_ch := make(chan response)
a.queryQueue <- query{UploadBaseUrl + "/media/upload.json", v, &mediaResponse, _POST, response_ch}
return mediaResponse, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{UploadBaseUrl + "/media/upload.json", v, &mediaResponse, _POST, ch}
return mediaResponse, (<-ch).err
}

func (a TwitterApi) UploadVideoInit(totalBytes int, mimeType string) (chunkedMedia ChunkedMedia, err error) {
Expand All @@ -55,9 +55,9 @@ func (a TwitterApi) UploadVideoInit(totalBytes int, mimeType string) (chunkedMed

var mediaResponse ChunkedMedia

response_ch := make(chan response)
a.queryQueue <- query{UploadBaseUrl + "/media/upload.json", v, &mediaResponse, _POST, response_ch}
return mediaResponse, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{UploadBaseUrl + "/media/upload.json", v, &mediaResponse, _POST, ch}
return mediaResponse, (<-ch).err
}

func (a TwitterApi) UploadVideoAppend(mediaIdString string,
Expand All @@ -71,9 +71,9 @@ func (a TwitterApi) UploadVideoAppend(mediaIdString string,

var emptyResponse interface{}

response_ch := make(chan response)
a.queryQueue <- query{UploadBaseUrl + "/media/upload.json", v, &emptyResponse, _POST, response_ch}
return (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{UploadBaseUrl + "/media/upload.json", v, &emptyResponse, _POST, ch}
return (<-ch).err
}

func (a TwitterApi) UploadVideoFinalize(mediaIdString string) (videoMedia VideoMedia, err error) {
Expand All @@ -83,7 +83,7 @@ func (a TwitterApi) UploadVideoFinalize(mediaIdString string) (videoMedia VideoM

var mediaResponse VideoMedia

response_ch := make(chan response)
a.queryQueue <- query{UploadBaseUrl + "/media/upload.json", v, &mediaResponse, _POST, response_ch}
return mediaResponse, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{UploadBaseUrl + "/media/upload.json", v, &mediaResponse, _POST, ch}
return mediaResponse, (<-ch).err
}
24 changes: 12 additions & 12 deletions mutes.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ import (
)

func (a TwitterApi) GetMutedUsersList(v url.Values) (c UserCursor, err error) {
response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/mutes/users/list.json", v, &c, _GET, response_ch}
return c, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/mutes/users/list.json", v, &c, _GET, ch}
return c, (<-ch).err
}

func (a TwitterApi) GetMutedUsersIds(v url.Values) (c Cursor, err error) {
response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/mutes/users/ids.json", v, &c, _GET, response_ch}
return c, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/mutes/users/ids.json", v, &c, _GET, ch}
return c, (<-ch).err
}

func (a TwitterApi) MuteUser(screenName string, v url.Values) (user User, err error) {
Expand All @@ -30,9 +30,9 @@ func (a TwitterApi) MuteUserId(id int64, v url.Values) (user User, err error) {
}

func (a TwitterApi) Mute(v url.Values) (user User, err error) {
response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/mutes/users/create.json", v, &user, _POST, response_ch}
return user, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/mutes/users/create.json", v, &user, _POST, ch}
return user, (<-ch).err
}

func (a TwitterApi) UnmuteUser(screenName string, v url.Values) (user User, err error) {
Expand All @@ -48,7 +48,7 @@ func (a TwitterApi) UnmuteUserId(id int64, v url.Values) (user User, err error)
}

func (a TwitterApi) Unmute(v url.Values) (user User, err error) {
response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/mutes/users/destroy.json", v, &user, _POST, response_ch}
return user, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/mutes/users/destroy.json", v, &user, _POST, ch}
return user, (<-ch).err
}
6 changes: 3 additions & 3 deletions rate_limit_status.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func (a TwitterApi) GetRateLimits(r []string) (rateLimitStatusResponse RateLimit
resources := strings.Join(r, ",")
v := url.Values{}
v.Set("resources", resources)
response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/application/rate_limit_status.json", v, &rateLimitStatusResponse, _GET, response_ch}
return rateLimitStatusResponse, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/application/rate_limit_status.json", v, &rateLimitStatusResponse, _GET, ch}
return rateLimitStatusResponse, (<-ch).err
}
10 changes: 5 additions & 5 deletions search.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ func (sr *SearchResponse) GetNext(a *TwitterApi) (SearchResponse, error) {
if sr.Metadata.NextResults == "" {
return SearchResponse{}, nil
}
nextUrl, err := url.Parse(sr.Metadata.NextResults)
nextURL, err := url.Parse(sr.Metadata.NextResults)
if err != nil {
return SearchResponse{}, err
}

v := nextUrl.Query()
v := nextURL.Query()
// remove the q parameter from the url.Values so that it
// can be added back via the next GetSearch method call.
delete(v, "q")
Expand All @@ -46,12 +46,12 @@ func (sr *SearchResponse) GetNext(a *TwitterApi) (SearchResponse, error) {
func (a TwitterApi) GetSearch(queryString string, v url.Values) (sr SearchResponse, err error) {
v = cleanValues(v)
v.Set("q", queryString)
response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/search/tweets.json", v, &sr, _GET, response_ch}
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/search/tweets.json", v, &sr, _GET, ch}

// We have to read from the response channel before assigning to timeline
// Otherwise this will happen before the responses have been written
resp := <-response_ch
resp := <-ch
err = resp.err
return sr, err
}
24 changes: 12 additions & 12 deletions timeline.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,32 +14,32 @@ func (a TwitterApi) GetHomeTimeline(v url.Values) (timeline []Tweet, err error)
v.Set("include_entities", "true")
}

response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/statuses/home_timeline.json", v, &timeline, _GET, response_ch}
return timeline, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/statuses/home_timeline.json", v, &timeline, _GET, ch}
return timeline, (<-ch).err
}

// GetUserTimeline returns a collection of the most recent Tweets posted by the user indicated by the screen_name or user_id parameters.
// https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline
func (a TwitterApi) GetUserTimeline(v url.Values) (timeline []Tweet, err error) {
response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/statuses/user_timeline.json", v, &timeline, _GET, response_ch}
return timeline, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/statuses/user_timeline.json", v, &timeline, _GET, ch}
return timeline, (<-ch).err
}

// GetMentionsTimeline returns the most recent mentions (Tweets containing a users’s @screen_name) for the authenticating user.
// The timeline returned is the equivalent of the one seen when you view your mentions on twitter.com.
// https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-mentions_timeline
func (a TwitterApi) GetMentionsTimeline(v url.Values) (timeline []Tweet, err error) {
response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/statuses/mentions_timeline.json", v, &timeline, _GET, response_ch}
return timeline, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/statuses/mentions_timeline.json", v, &timeline, _GET, ch}
return timeline, (<-ch).err
}

// GetRetweetsOfMe returns the most recent Tweets authored by the authenticating user that have been retweeted by others.
// https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-retweets_of_me
func (a TwitterApi) GetRetweetsOfMe(v url.Values) (tweets []Tweet, err error) {
response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/statuses/retweets_of_me.json", v, &tweets, _GET, response_ch}
return tweets, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/statuses/retweets_of_me.json", v, &tweets, _GET, ch}
return tweets, (<-ch).err
}
18 changes: 9 additions & 9 deletions trends.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,26 +39,26 @@ type TrendLocation struct {

// https://dev.twitter.com/rest/reference/get/trends/place
func (a TwitterApi) GetTrendsByPlace(id int64, v url.Values) (trendResp TrendResponse, err error) {
response_ch := make(chan response)
ch := make(chan response)
v = cleanValues(v)
v.Set("id", strconv.FormatInt(id, 10))
a.queryQueue <- query{a.baseUrl + "/trends/place.json", v, &[]interface{}{&trendResp}, _GET, response_ch}
return trendResp, (<-response_ch).err
a.queryQueue <- query{a.baseUrl + "/trends/place.json", v, &[]interface{}{&trendResp}, _GET, ch}
return trendResp, (<-ch).err
}

// https://dev.twitter.com/rest/reference/get/trends/available
func (a TwitterApi) GetTrendsAvailableLocations(v url.Values) (locations []TrendLocation, err error) {
response_ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/trends/available.json", v, &locations, _GET, response_ch}
return locations, (<-response_ch).err
ch := make(chan response)
a.queryQueue <- query{a.baseUrl + "/trends/available.json", v, &locations, _GET, ch}
return locations, (<-ch).err
}

// https://dev.twitter.com/rest/reference/get/trends/closest
func (a TwitterApi) GetTrendsClosestLocations(lat float64, long float64, v url.Values) (locations []TrendLocation, err error) {
response_ch := make(chan response)
ch := make(chan response)
v = cleanValues(v)
v.Set("lat", strconv.FormatFloat(lat, 'f', 6, 64))
v.Set("long", strconv.FormatFloat(long, 'f', 6, 64))
a.queryQueue <- query{a.baseUrl + "/trends/closest.json", v, &locations, _GET, response_ch}
return locations, (<-response_ch).err
a.queryQueue <- query{a.baseUrl + "/trends/closest.json", v, &locations, _GET, ch}
return locations, (<-ch).err
}
Loading