Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

space in parameter messes with gh_next() #210

Open
jayjacobs opened this issue Aug 22, 2024 · 0 comments
Open

space in parameter messes with gh_next() #210

jayjacobs opened this issue Aug 22, 2024 · 0 comments

Comments

@jayjacobs
Copy link

I may be scratching the surface on this elusive thing, but I am trying to run a github search, and the search requires different elements of the search query be separated by a space. I am trying to search for repositories with a keyword and after some created date.

The first query works great, but passing that into a second query causes the query string to be slightly modified and thus the search to be modified returning no results.

Everything works great (as expected) if the search parameter has no spaces in it (just using a keyword without date filter).

library(gh)
rez1 <- gh(endpoint = "/search/repositories", 
           .params=list(q="metasploit created:>2023-05-23T08:40:24Z"), 
           per_page = 100)
cat("total_count:", rez1$total_count, "\nlength:", length(rez1$items), "\n")
# total_count: 600 
# length: 100 

# has link header in response for pagination, notice the url encoding
> attr(rez1, "response")['link']
# <httr2_headers>
# link: <https://api.github.com/search/repositories?q=metasploit+created%3A%3E2023-05-23T08%3A40%3A24Z&per_page=100&page=2>; rel="next", <https://api.github.com/search/repositories?q=metasploit+created%3A%3E2023-05-23T08%3A40%3A24Z&per_page=100&page=6>; rel="last"

# look at what query we sent:
attr(rez1, "request")['query']
# $query
# $query$q
# [1] "metasploit created:>2023-05-23T08:40:24Z"
# 
# $query$per_page
# [1] 100


# get the next page
rez2 <- gh_next(rez1)

# the output here suggests the query has changed perhaps?
cat("total_count:", rez2$total_count, "\nlength:", length(rez2$items), "\n")
total_count: 0 
length: 0 

# no link header in response 
"link" %in% names(attr(rez2, "response"))
# [1] FALSE

# Look at what we sent, space is replaced by a +, rest of string is not url encoded. 
attr(rez2, "request")['query']
# $query
# $query$q
# [1] "metasploit+created:>2023-05-23T08:40:24Z"
# 
# $query$per_page
# [1] "100"
# 
# $query$page
# [1] "2"

sessioninfo::package_info("attached")
#  package * version date (UTC) lib source
#  gh      * 1.4.1   2024-03-28 [1] CRAN (R 4.4.0)
# 
#  [1] /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library

sessioninfo::platform_info()
#  setting  value
#  version  R version 4.4.0 (2024-04-24)
#  os       macOS Sonoma 14.5
#  system   aarch64, darwin20
#  ui       RStudio
#  language (EN)
#  collate  en_US.UTF-8
#  ctype    en_US.UTF-8
#  tz       America/Chicago
#  date     2024-08-22
#  rstudio  2024.04.1+748 Chocolate Cosmos (desktop)
#  pandoc   NA
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant