Skip to content

Commit 14925f4

Browse files
committed
optionally skip parsing responses to R6 objects
1 parent a40dc56 commit 14925f4

19 files changed

Lines changed: 774 additions & 294 deletions

File tree

modules/openapi-generator/src/main/resources/r/api.mustache

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,11 @@
142142
#' @param data_file (optional) name of the data file to save the result
143143
{{/returnType}}
144144
#' @param ... Other optional arguments
145+
#' @param parse Logical. If \code{TRUE} then the response will be parsed to a generated type. If \code{FALSE} the response will be returned as unparsed text.
145146
#'
146147
#' @return {{{returnType}}}{{^returnType}}void{{/returnType}}
147-
{{{operationId}}} = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}} = {{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#vendorExtensions.x-streaming}}stream_callback = NULL, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = NULL, {{/returnType}}...) {
148-
local_var_response <- self${{{operationId}}}{{WithHttpInfo}}({{#allParams}}{{paramName}}, {{/allParams}}{{#vendorExtensions.x-streaming}}stream_callback = stream_callback, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = data_file, {{/returnType}}...)
148+
{{{operationId}}} = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}} = {{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#vendorExtensions.x-streaming}}stream_callback = NULL, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = NULL, {{/returnType}}..., parse = TRUE) {
149+
local_var_response <- self${{{operationId}}}{{WithHttpInfo}}({{#allParams}}{{paramName}}, {{/allParams}}{{#vendorExtensions.x-streaming}}stream_callback = stream_callback, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = data_file, {{/returnType}}..., parse = parse)
149150
{{#vendorExtensions.x-streaming}}
150151
if (typeof(stream_callback) == "closure") { # return void if streaming is enabled
151152
return(invisible(NULL))
@@ -181,7 +182,7 @@
181182
#' @param ... Other optional arguments
182183
#'
183184
#' @return API response ({{{returnType}}}{{^returnType}}void{{/returnType}}) with additional information such as HTTP status code, headers
184-
{{{operationId}}}{{WithHttpInfo}} = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}} = {{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#vendorExtensions.x-streaming}}stream_callback = NULL, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = NULL, {{/returnType}}...) {
185+
{{{operationId}}}{{WithHttpInfo}} = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}} = {{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#vendorExtensions.x-streaming}}stream_callback = NULL, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = NULL, parse = TRUE, {{/returnType}}...) {
185186
args <- list(...)
186187
query_params <- list()
187188
header_params <- c()
@@ -569,6 +570,11 @@
569570
self$api_client$WriteFile(local_var_resp, data_file)
570571
}
571572
573+
if (!parse) {
574+
local_var_resp$content <- local_var_resp$response_as_text()
575+
return(local_var_resp)
576+
}
577+
572578
deserialized_resp_obj <- tryCatch(
573579
self$api_client$DeserializeResponse(local_var_resp, "{{returnType}}"),
574580
error = function(e) {

samples/client/echo_api/r/R/auth_api.R

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,11 @@ AuthApi <- R6::R6Class(
7373
#'
7474
#' @param data_file (optional) name of the data file to save the result
7575
#' @param ... Other optional arguments
76+
#' @param parse Logical. If \code{TRUE} then the response will be parsed to a generated type. If \code{FALSE} the response will be returned as unparsed text.
7677
#'
7778
#' @return character
78-
TestAuthHttpBasic = function(data_file = NULL, ...) {
79-
local_var_response <- self$TestAuthHttpBasicWithHttpInfo(data_file = data_file, ...)
79+
TestAuthHttpBasic = function(data_file = NULL, ..., parse = TRUE) {
80+
local_var_response <- self$TestAuthHttpBasicWithHttpInfo(data_file = data_file, ..., parse = parse)
8081
if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) {
8182
return(local_var_response$content)
8283
} else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) {
@@ -95,7 +96,7 @@ AuthApi <- R6::R6Class(
9596
#' @param ... Other optional arguments
9697
#'
9798
#' @return API response (character) with additional information such as HTTP status code, headers
98-
TestAuthHttpBasicWithHttpInfo = function(data_file = NULL, ...) {
99+
TestAuthHttpBasicWithHttpInfo = function(data_file = NULL, parse = TRUE, ...) {
99100
args <- list(...)
100101
query_params <- list()
101102
header_params <- c()
@@ -136,6 +137,11 @@ AuthApi <- R6::R6Class(
136137
self$api_client$WriteFile(local_var_resp, data_file)
137138
}
138139

140+
if (!parse) {
141+
local_var_resp$content <- local_var_resp$response_as_text()
142+
return(local_var_resp)
143+
}
144+
139145
deserialized_resp_obj <- tryCatch(
140146
self$api_client$DeserializeResponse(local_var_resp, "character"),
141147
error = function(e) {
@@ -164,10 +170,11 @@ AuthApi <- R6::R6Class(
164170
#'
165171
#' @param data_file (optional) name of the data file to save the result
166172
#' @param ... Other optional arguments
173+
#' @param parse Logical. If \code{TRUE} then the response will be parsed to a generated type. If \code{FALSE} the response will be returned as unparsed text.
167174
#'
168175
#' @return character
169-
TestAuthHttpBearer = function(data_file = NULL, ...) {
170-
local_var_response <- self$TestAuthHttpBearerWithHttpInfo(data_file = data_file, ...)
176+
TestAuthHttpBearer = function(data_file = NULL, ..., parse = TRUE) {
177+
local_var_response <- self$TestAuthHttpBearerWithHttpInfo(data_file = data_file, ..., parse = parse)
171178
if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) {
172179
return(local_var_response$content)
173180
} else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) {
@@ -186,7 +193,7 @@ AuthApi <- R6::R6Class(
186193
#' @param ... Other optional arguments
187194
#'
188195
#' @return API response (character) with additional information such as HTTP status code, headers
189-
TestAuthHttpBearerWithHttpInfo = function(data_file = NULL, ...) {
196+
TestAuthHttpBearerWithHttpInfo = function(data_file = NULL, parse = TRUE, ...) {
190197
args <- list(...)
191198
query_params <- list()
192199
header_params <- c()
@@ -227,6 +234,11 @@ AuthApi <- R6::R6Class(
227234
self$api_client$WriteFile(local_var_resp, data_file)
228235
}
229236

237+
if (!parse) {
238+
local_var_resp$content <- local_var_resp$response_as_text()
239+
return(local_var_resp)
240+
}
241+
230242
deserialized_resp_obj <- tryCatch(
231243
self$api_client$DeserializeResponse(local_var_resp, "character"),
232244
error = function(e) {

0 commit comments

Comments
 (0)