|
|
|
|
|
|
|
[](https://www.repostatus.org/#active)
|
|
|
|
[](https://keybase.io/hrbrmstr)
|
|
|
|

|
|
|
|
[](https://github.com/hrbrmstr/httr2curl/actions?query=workflow%3AR-CMD-check)
|
|
|
|
[](https://travis-ci.org/hrbrmstr/httr2curl)
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
# httr2curl
|
|
|
|
|
|
|
|
Turn ‘httr’ Web Requests Into ‘curl’ Command Line Calls
|
|
|
|
|
|
|
|
## Description
|
|
|
|
|
|
|
|
When provided with an ‘httr’ “VERB” call, the request will be made and
|
|
|
|
‘libcurl’ headers will be captured and post-processed to provide a
|
|
|
|
working ‘curl’ command line call.
|
|
|
|
|
|
|
|
## What’s Inside The Tin
|
|
|
|
|
|
|
|
The following functions are implemented:
|
|
|
|
|
|
|
|
- `h2c`: Convert an ‘httr’ call to ‘curl’ command line
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
``` r
|
|
|
|
remotes::install_git("https://git.rud.is/hrbrmstr/httr2curl.git")
|
|
|
|
```
|
|
|
|
|
|
|
|
NOTE: To use the ‘remotes’ install options you will need to have the
|
|
|
|
[{remotes} package](https://github.com/r-lib/remotes) installed.
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
``` r
|
|
|
|
library(httr2curl)
|
|
|
|
|
|
|
|
# current version
|
|
|
|
packageVersion("httr2curl")
|
|
|
|
## [1] '0.1.0'
|
|
|
|
```
|
|
|
|
|
|
|
|
### Using local perl
|
|
|
|
|
|
|
|
``` r
|
|
|
|
h2c(
|
|
|
|
httr::GET(
|
|
|
|
url = "https://rud.is/",
|
|
|
|
httr::user_agent(splashr::ua_apple_tv),
|
|
|
|
query = list(
|
|
|
|
a = "b",
|
|
|
|
c = 1
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
## [1] "curl --http2 --header \"Accept: application/json, text/xml, application/xml, */*\" --compressed --user-agent \"AppleTV6,2/11.1\" \"https://rud.is/?a=b&c=1\""
|
|
|
|
```
|
|
|
|
|
|
|
|
### Using the web service
|
|
|
|
|
|
|
|
``` r
|
|
|
|
h2c(
|
|
|
|
httr::GET(
|
|
|
|
url = "https://rud.is/",
|
|
|
|
httr::user_agent(splashr::ua_apple_tv),
|
|
|
|
query = list(
|
|
|
|
a = "b",
|
|
|
|
c = 1
|
|
|
|
)
|
|
|
|
),
|
|
|
|
use_web_service = TRUE
|
|
|
|
)
|
|
|
|
## [1] "curl --header \"Accept: application/json, text/xml, application/xml, */*\" --compressed --user-agent \"AppleTV6,2/11.1\" \"https://rud.is/?a=b&c=1\""
|
|
|
|
```
|
|
|
|
|
|
|
|
## httr2curl Metrics
|
|
|
|
|
|
|
|
| Lang | \# Files | (%) | LoC | (%) | Blank lines | (%) | \# Lines | (%) |
|
|
|
|
|:-----|---------:|-----:|----:|-----:|------------:|-----:|---------:|-----:|
|
|
|
|
| R | 5 | 0.36 | 49 | 0.24 | 21 | 0.25 | 40 | 0.26 |
|
|
|
|
| Rmd | 1 | 0.07 | 29 | 0.14 | 19 | 0.23 | 35 | 0.23 |
|
|
|
|
| YAML | 1 | 0.07 | 22 | 0.11 | 2 | 0.02 | 2 | 0.01 |
|
|
|
|
| SUM | 7 | 0.50 | 100 | 0.50 | 42 | 0.50 | 77 | 0.50 |
|
|
|
|
|
|
|
|
clock Package Metrics for httr2curl
|
|
|
|
|
|
|
|
## Code of Conduct
|
|
|
|
|
|
|
|
Please note that this project is released with a Contributor Code of
|
|
|
|
Conduct. By participating in this project you agree to abide by its
|
|
|
|
terms.
|