forked from loafle/openapi-generator-original
		
	[JAVA] java.net.http.HttpClient (java native) form data generator (#14554)
* java native form data generator * merge master; add test * change test * store body echo response * review fixes
This commit is contained in:
		
							parent
							
								
									d8f777d707
								
							
						
					
					
						commit
						c2bad96ce1
					
				@ -12,9 +12,21 @@ import {{import}};
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
@ -425,7 +437,85 @@ public class {{classname}} {
 | 
			
		||||
    {{/isString}}
 | 
			
		||||
    {{/bodyParam}}
 | 
			
		||||
    {{^bodyParam}}
 | 
			
		||||
    {{#hasFormParams}}
 | 
			
		||||
    {{#isMultipart}}
 | 
			
		||||
    MultipartEntityBuilder multiPartBuilder = MultipartEntityBuilder.create();
 | 
			
		||||
    boolean hasFiles = false;
 | 
			
		||||
    {{#formParams}}
 | 
			
		||||
    {{#isArray}}
 | 
			
		||||
    for (int i=0; i < {{paramName}}.size(); i++) {
 | 
			
		||||
        multiPartBuilder.addTextBody("{{{baseName}}}", {{paramName}}.get(i).toString());
 | 
			
		||||
    }
 | 
			
		||||
    {{/isArray}}
 | 
			
		||||
    {{^isArray}}
 | 
			
		||||
    {{#isFile}}
 | 
			
		||||
    multiPartBuilder.addBinaryBody("{{{baseName}}}", {{paramName}});
 | 
			
		||||
    hasFiles = true;
 | 
			
		||||
    {{/isFile}}
 | 
			
		||||
    {{^isFile}}
 | 
			
		||||
    multiPartBuilder.addTextBody("{{{baseName}}}", {{paramName}}.toString());
 | 
			
		||||
    {{/isFile}}
 | 
			
		||||
    {{/isArray}}
 | 
			
		||||
    {{/formParams}}
 | 
			
		||||
    HttpEntity entity = multiPartBuilder.build();
 | 
			
		||||
    HttpRequest.BodyPublisher formDataPublisher;
 | 
			
		||||
    if (hasFiles) {
 | 
			
		||||
        Pipe pipe;
 | 
			
		||||
        try {
 | 
			
		||||
            pipe = Pipe.open();
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        new Thread(() -> {
 | 
			
		||||
            try (OutputStream outputStream = Channels.newOutputStream(pipe.sink())) {
 | 
			
		||||
                entity.writeTo(outputStream);
 | 
			
		||||
            } catch (IOException e) {
 | 
			
		||||
                e.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }).start();
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers.ofInputStream(() -> Channels.newInputStream(pipe.source()));
 | 
			
		||||
    } else {
 | 
			
		||||
        ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
        try {
 | 
			
		||||
            entity.writeTo(formOutputStream);
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray()));
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("{{httpMethod}}", formDataPublisher);
 | 
			
		||||
    {{/isMultipart}}
 | 
			
		||||
    {{^isMultipart}}
 | 
			
		||||
    List<NameValuePair> formValues = new ArrayList<>();
 | 
			
		||||
    {{#formParams}}
 | 
			
		||||
    {{#isArray}}
 | 
			
		||||
    for (int i=0; i < {{paramName}}.size(); i++) {
 | 
			
		||||
        formValues.add(new BasicNameValuePair("{{{baseName}}}", {{paramName}}.get(i).toString()));
 | 
			
		||||
    }
 | 
			
		||||
    {{/isArray}}
 | 
			
		||||
    {{^isArray}}
 | 
			
		||||
    formValues.add(new BasicNameValuePair("{{{baseName}}}", {{paramName}}.toString()));
 | 
			
		||||
    {{/isArray}}
 | 
			
		||||
    {{/formParams}}
 | 
			
		||||
    HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
 | 
			
		||||
    ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
    try {
 | 
			
		||||
        entity.writeTo(formOutputStream);
 | 
			
		||||
    } catch (IOException e) {
 | 
			
		||||
        throw new RuntimeException(e);
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("{{httpMethod}}", HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray())));
 | 
			
		||||
    {{/isMultipart}}
 | 
			
		||||
    {{/hasFormParams}}
 | 
			
		||||
    {{^hasFormParams}}
 | 
			
		||||
    localVarRequestBuilder.method("{{httpMethod}}", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    {{/hasFormParams}}
 | 
			
		||||
    {{/bodyParam}}
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
 | 
			
		||||
@ -68,6 +68,7 @@ ext {
 | 
			
		||||
    jackson_version = "2.14.1"
 | 
			
		||||
    jakarta_annotation_version = "1.3.5"
 | 
			
		||||
    junit_version = "4.13.2"
 | 
			
		||||
    httpmime_version = "4.5.13"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
@ -81,5 +82,6 @@ dependencies {
 | 
			
		||||
    implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jackson_version"
 | 
			
		||||
    implementation "org.openapitools:jackson-databind-nullable:0.2.1"
 | 
			
		||||
    implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version"
 | 
			
		||||
    implementation "org.apache.httpcomponents:httpmime:$httpmime_version"
 | 
			
		||||
    testImplementation "junit:junit:$junit_version"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -208,6 +208,11 @@
 | 
			
		||||
            <version>${jakarta-annotation-version}</version>
 | 
			
		||||
            <scope>provided</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.apache.httpcomponents</groupId>
 | 
			
		||||
            <artifactId>httpmime</artifactId>
 | 
			
		||||
            <version>${httpmime-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
 | 
			
		||||
        <!-- test dependencies -->
 | 
			
		||||
        <dependency>
 | 
			
		||||
@ -233,6 +238,7 @@
 | 
			
		||||
        {{^useJakartaEe}}
 | 
			
		||||
        <jakarta-annotation-version>1.3.5</jakarta-annotation-version>
 | 
			
		||||
        {{/useJakartaEe}}
 | 
			
		||||
        <httpmime-version>4.5.13</httpmime-version>
 | 
			
		||||
        <junit-version>4.13.2</junit-version>
 | 
			
		||||
    </properties>
 | 
			
		||||
</project>
 | 
			
		||||
 | 
			
		||||
@ -65,6 +65,7 @@ ext {
 | 
			
		||||
    jackson_version = "2.14.1"
 | 
			
		||||
    jakarta_annotation_version = "1.3.5"
 | 
			
		||||
    junit_version = "4.13.2"
 | 
			
		||||
    httpmime_version = "4.5.13"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
@ -75,5 +76,6 @@ dependencies {
 | 
			
		||||
    implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jackson_version"
 | 
			
		||||
    implementation "org.openapitools:jackson-databind-nullable:0.2.1"
 | 
			
		||||
    implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version"
 | 
			
		||||
    implementation "org.apache.httpcomponents:httpmime:$httpmime_version"
 | 
			
		||||
    testImplementation "junit:junit:$junit_version"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -194,6 +194,11 @@
 | 
			
		||||
            <version>${jakarta-annotation-version}</version>
 | 
			
		||||
            <scope>provided</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.apache.httpcomponents</groupId>
 | 
			
		||||
            <artifactId>httpmime</artifactId>
 | 
			
		||||
            <version>${httpmime-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
 | 
			
		||||
        <!-- test dependencies -->
 | 
			
		||||
        <dependency>
 | 
			
		||||
@ -211,6 +216,7 @@
 | 
			
		||||
        <jackson-version>2.14.1</jackson-version>
 | 
			
		||||
        <jackson-databind-nullable-version>0.2.4</jackson-databind-nullable-version>
 | 
			
		||||
        <jakarta-annotation-version>1.3.5</jakarta-annotation-version>
 | 
			
		||||
        <httpmime-version>4.5.13</httpmime-version>
 | 
			
		||||
        <junit-version>4.13.2</junit-version>
 | 
			
		||||
    </properties>
 | 
			
		||||
</project>
 | 
			
		||||
 | 
			
		||||
@ -21,9 +21,21 @@ import org.openapitools.client.model.Pet;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -20,9 +20,21 @@ import org.openapitools.client.Pair;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
@ -143,7 +155,21 @@ public class FormApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "text/plain");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    List<NameValuePair> formValues = new ArrayList<>();
 | 
			
		||||
    formValues.add(new BasicNameValuePair("integer_form", integerForm.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("boolean_form", booleanForm.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("string_form", stringForm.toString()));
 | 
			
		||||
    HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
 | 
			
		||||
    ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
    try {
 | 
			
		||||
        entity.writeTo(formOutputStream);
 | 
			
		||||
    } catch (IOException e) {
 | 
			
		||||
        throw new RuntimeException(e);
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("POST", HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray())));
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -20,9 +20,21 @@ import org.openapitools.client.Pair;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -20,9 +20,21 @@ import org.openapitools.client.Pair;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -24,9 +24,21 @@ import org.openapitools.client.model.TestQueryStyleFormExplodeTrueArrayStringQue
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -31,6 +31,7 @@ public class CustomTest {
 | 
			
		||||
 | 
			
		||||
    private final QueryApi api = new QueryApi();
 | 
			
		||||
    private final BodyApi bodyApi = new BodyApi();
 | 
			
		||||
    private final FormApi formApi = new FormApi();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@ -245,4 +246,24 @@ public class CustomTest {
 | 
			
		||||
                    " at [Source: (String)\"{ \"array_string_enum_default\": [\"invalid\"] }\"; line: 1, column: 33] (through reference chain: org.openapitools.client.model.DefaultValue[\"array_string_enum_default\"]->java.util.ArrayList[0])");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Test form parameter(s)
 | 
			
		||||
     *
 | 
			
		||||
     * Test form parameter(s)
 | 
			
		||||
     *
 | 
			
		||||
     * @throws ApiException
 | 
			
		||||
     *          if the Api call fails
 | 
			
		||||
     */
 | 
			
		||||
    @Test
 | 
			
		||||
    public void testFormIntegerBooleanStringTest() throws ApiException {
 | 
			
		||||
        Integer integerForm = 1337;
 | 
			
		||||
        Boolean booleanForm = true;
 | 
			
		||||
        String stringForm = "Hello World";
 | 
			
		||||
        String response = formApi.testFormIntegerBooleanString(integerForm, booleanForm, stringForm);
 | 
			
		||||
        org.openapitools.client.EchoServerResponseParser p = new org.openapitools.client.EchoServerResponseParser(response);
 | 
			
		||||
        Assert.assertEquals("/form/integer/boolean/string", p.path);
 | 
			
		||||
        Assert.assertEquals("3b\ninteger_form=1337&boolean_form=true&string_form=Hello+World\n0\n\n", p.body);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -21,14 +21,17 @@ public class EchoServerResponseParser {
 | 
			
		||||
    public String path; // e.g. /query/style_form/explode_true/object?id=12345
 | 
			
		||||
    public String protocol; // e.g. HTTP/1.1
 | 
			
		||||
    public java.util.HashMap<String, String> headers = new java.util.HashMap<>();
 | 
			
		||||
    public String body; // e.g. <html><head></head><body>Hello World!</body></html>
 | 
			
		||||
 | 
			
		||||
    public EchoServerResponseParser(String response) {
 | 
			
		||||
        if (response == null) {
 | 
			
		||||
            throw new RuntimeException("Echo server response cannot be null");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        String[] lines = response.split("\n");
 | 
			
		||||
        Iterable<String> lines = response.lines()::iterator;
 | 
			
		||||
        boolean firstLine = true;
 | 
			
		||||
        boolean bodyStart = false;
 | 
			
		||||
        StringBuilder bodyBuilder = new StringBuilder();
 | 
			
		||||
 | 
			
		||||
        for (String line : lines) {
 | 
			
		||||
            if (firstLine) {
 | 
			
		||||
@ -40,6 +43,16 @@ public class EchoServerResponseParser {
 | 
			
		||||
                continue;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (bodyStart) {
 | 
			
		||||
                bodyBuilder.append(line);
 | 
			
		||||
                bodyBuilder.append("\n");
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (line.isEmpty()) {
 | 
			
		||||
                bodyStart = true;
 | 
			
		||||
                continue;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // store the header key-value pair in headers
 | 
			
		||||
            String[] keyValue = line.split(": ");
 | 
			
		||||
            if (keyValue.length == 2) { // skip blank line, non key-value pair
 | 
			
		||||
@ -47,5 +60,6 @@ public class EchoServerResponseParser {
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        body = bodyBuilder.toString();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -65,6 +65,7 @@ ext {
 | 
			
		||||
    jackson_version = "2.14.1"
 | 
			
		||||
    jakarta_annotation_version = "1.3.5"
 | 
			
		||||
    junit_version = "4.13.2"
 | 
			
		||||
    httpmime_version = "4.5.13"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
@ -75,5 +76,6 @@ dependencies {
 | 
			
		||||
    implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jackson_version"
 | 
			
		||||
    implementation "org.openapitools:jackson-databind-nullable:0.2.1"
 | 
			
		||||
    implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version"
 | 
			
		||||
    implementation "org.apache.httpcomponents:httpmime:$httpmime_version"
 | 
			
		||||
    testImplementation "junit:junit:$junit_version"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -194,6 +194,11 @@
 | 
			
		||||
            <version>${jakarta-annotation-version}</version>
 | 
			
		||||
            <scope>provided</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.apache.httpcomponents</groupId>
 | 
			
		||||
            <artifactId>httpmime</artifactId>
 | 
			
		||||
            <version>${httpmime-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
 | 
			
		||||
        <!-- test dependencies -->
 | 
			
		||||
        <dependency>
 | 
			
		||||
@ -211,6 +216,7 @@
 | 
			
		||||
        <jackson-version>2.14.1</jackson-version>
 | 
			
		||||
        <jackson-databind-nullable-version>0.2.4</jackson-databind-nullable-version>
 | 
			
		||||
        <jakarta-annotation-version>1.3.5</jakarta-annotation-version>
 | 
			
		||||
        <httpmime-version>4.5.13</httpmime-version>
 | 
			
		||||
        <junit-version>4.13.2</junit-version>
 | 
			
		||||
    </properties>
 | 
			
		||||
</project>
 | 
			
		||||
 | 
			
		||||
@ -21,9 +21,21 @@ import org.openapitools.client.model.Client;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -21,9 +21,21 @@ import org.openapitools.client.model.FooGetDefaultResponse;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -30,9 +30,21 @@ import org.openapitools.client.model.User;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
@ -1018,7 +1030,32 @@ public class FakeApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    List<NameValuePair> formValues = new ArrayList<>();
 | 
			
		||||
    formValues.add(new BasicNameValuePair("integer", integer.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("int32", int32.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("int64", int64.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("number", number.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("float", _float.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("double", _double.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("string", string.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("pattern_without_delimiter", patternWithoutDelimiter.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("byte", _byte.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("binary", binary.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("date", date.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("dateTime", dateTime.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("password", password.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("callback", paramCallback.toString()));
 | 
			
		||||
    HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
 | 
			
		||||
    ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
    try {
 | 
			
		||||
        entity.writeTo(formOutputStream);
 | 
			
		||||
    } catch (IOException e) {
 | 
			
		||||
        throw new RuntimeException(e);
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("POST", HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray())));
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
@ -1132,7 +1169,22 @@ public class FakeApi {
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    List<NameValuePair> formValues = new ArrayList<>();
 | 
			
		||||
    for (int i=0; i < enumFormStringArray.size(); i++) {
 | 
			
		||||
        formValues.add(new BasicNameValuePair("enum_form_string_array", enumFormStringArray.get(i).toString()));
 | 
			
		||||
    }
 | 
			
		||||
    formValues.add(new BasicNameValuePair("enum_form_string", enumFormString.toString()));
 | 
			
		||||
    HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
 | 
			
		||||
    ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
    try {
 | 
			
		||||
        entity.writeTo(formOutputStream);
 | 
			
		||||
    } catch (IOException e) {
 | 
			
		||||
        throw new RuntimeException(e);
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("GET", HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray())));
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
@ -1531,7 +1583,20 @@ public class FakeApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    List<NameValuePair> formValues = new ArrayList<>();
 | 
			
		||||
    formValues.add(new BasicNameValuePair("param", param.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("param2", param2.toString()));
 | 
			
		||||
    HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
 | 
			
		||||
    ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
    try {
 | 
			
		||||
        entity.writeTo(formOutputStream);
 | 
			
		||||
    } catch (IOException e) {
 | 
			
		||||
        throw new RuntimeException(e);
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("GET", HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray())));
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -21,9 +21,21 @@ import org.openapitools.client.model.Client;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -23,9 +23,21 @@ import org.openapitools.client.model.Pet;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
@ -710,7 +722,20 @@ public class PetApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    List<NameValuePair> formValues = new ArrayList<>();
 | 
			
		||||
    formValues.add(new BasicNameValuePair("name", name.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("status", status.toString()));
 | 
			
		||||
    HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
 | 
			
		||||
    ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
    try {
 | 
			
		||||
        entity.writeTo(formOutputStream);
 | 
			
		||||
    } catch (IOException e) {
 | 
			
		||||
        throw new RuntimeException(e);
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("POST", HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray())));
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
@ -807,7 +832,41 @@ public class PetApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    MultipartEntityBuilder multiPartBuilder = MultipartEntityBuilder.create();
 | 
			
		||||
    boolean hasFiles = false;
 | 
			
		||||
    multiPartBuilder.addTextBody("additionalMetadata", additionalMetadata.toString());
 | 
			
		||||
    multiPartBuilder.addBinaryBody("file", _file);
 | 
			
		||||
    hasFiles = true;
 | 
			
		||||
    HttpEntity entity = multiPartBuilder.build();
 | 
			
		||||
    HttpRequest.BodyPublisher formDataPublisher;
 | 
			
		||||
    if (hasFiles) {
 | 
			
		||||
        Pipe pipe;
 | 
			
		||||
        try {
 | 
			
		||||
            pipe = Pipe.open();
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        new Thread(() -> {
 | 
			
		||||
            try (OutputStream outputStream = Channels.newOutputStream(pipe.sink())) {
 | 
			
		||||
                entity.writeTo(outputStream);
 | 
			
		||||
            } catch (IOException e) {
 | 
			
		||||
                e.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }).start();
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers.ofInputStream(() -> Channels.newInputStream(pipe.source()));
 | 
			
		||||
    } else {
 | 
			
		||||
        ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
        try {
 | 
			
		||||
            entity.writeTo(formOutputStream);
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray()));
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("POST", formDataPublisher);
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
@ -908,7 +967,41 @@ public class PetApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    MultipartEntityBuilder multiPartBuilder = MultipartEntityBuilder.create();
 | 
			
		||||
    boolean hasFiles = false;
 | 
			
		||||
    multiPartBuilder.addTextBody("additionalMetadata", additionalMetadata.toString());
 | 
			
		||||
    multiPartBuilder.addBinaryBody("requiredFile", requiredFile);
 | 
			
		||||
    hasFiles = true;
 | 
			
		||||
    HttpEntity entity = multiPartBuilder.build();
 | 
			
		||||
    HttpRequest.BodyPublisher formDataPublisher;
 | 
			
		||||
    if (hasFiles) {
 | 
			
		||||
        Pipe pipe;
 | 
			
		||||
        try {
 | 
			
		||||
            pipe = Pipe.open();
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        new Thread(() -> {
 | 
			
		||||
            try (OutputStream outputStream = Channels.newOutputStream(pipe.sink())) {
 | 
			
		||||
                entity.writeTo(outputStream);
 | 
			
		||||
            } catch (IOException e) {
 | 
			
		||||
                e.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }).start();
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers.ofInputStream(() -> Channels.newInputStream(pipe.source()));
 | 
			
		||||
    } else {
 | 
			
		||||
        ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
        try {
 | 
			
		||||
            entity.writeTo(formOutputStream);
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray()));
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("POST", formDataPublisher);
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -21,9 +21,21 @@ import org.openapitools.client.model.Order;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -22,9 +22,21 @@ import org.openapitools.client.model.User;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -65,6 +65,7 @@ ext {
 | 
			
		||||
    jackson_version = "2.14.1"
 | 
			
		||||
    jakarta_annotation_version = "1.3.5"
 | 
			
		||||
    junit_version = "4.13.2"
 | 
			
		||||
    httpmime_version = "4.5.13"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
@ -75,5 +76,6 @@ dependencies {
 | 
			
		||||
    implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jackson_version"
 | 
			
		||||
    implementation "org.openapitools:jackson-databind-nullable:0.2.1"
 | 
			
		||||
    implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version"
 | 
			
		||||
    implementation "org.apache.httpcomponents:httpmime:$httpmime_version"
 | 
			
		||||
    testImplementation "junit:junit:$junit_version"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -194,6 +194,11 @@
 | 
			
		||||
            <version>${jakarta-annotation-version}</version>
 | 
			
		||||
            <scope>provided</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.apache.httpcomponents</groupId>
 | 
			
		||||
            <artifactId>httpmime</artifactId>
 | 
			
		||||
            <version>${httpmime-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
 | 
			
		||||
        <!-- test dependencies -->
 | 
			
		||||
        <dependency>
 | 
			
		||||
@ -211,6 +216,7 @@
 | 
			
		||||
        <jackson-version>2.14.1</jackson-version>
 | 
			
		||||
        <jackson-databind-nullable-version>0.2.4</jackson-databind-nullable-version>
 | 
			
		||||
        <jakarta-annotation-version>2.1.1</jakarta-annotation-version>
 | 
			
		||||
        <httpmime-version>4.5.13</httpmime-version>
 | 
			
		||||
        <junit-version>4.13.2</junit-version>
 | 
			
		||||
    </properties>
 | 
			
		||||
</project>
 | 
			
		||||
 | 
			
		||||
@ -23,9 +23,21 @@ import org.openapitools.client.model.Pet;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
@ -632,7 +644,20 @@ public class PetApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    List<NameValuePair> formValues = new ArrayList<>();
 | 
			
		||||
    formValues.add(new BasicNameValuePair("name", name.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("status", status.toString()));
 | 
			
		||||
    HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
 | 
			
		||||
    ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
    try {
 | 
			
		||||
        entity.writeTo(formOutputStream);
 | 
			
		||||
    } catch (IOException e) {
 | 
			
		||||
        throw new RuntimeException(e);
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("POST", HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray())));
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
@ -708,7 +733,41 @@ public class PetApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    MultipartEntityBuilder multiPartBuilder = MultipartEntityBuilder.create();
 | 
			
		||||
    boolean hasFiles = false;
 | 
			
		||||
    multiPartBuilder.addTextBody("additionalMetadata", additionalMetadata.toString());
 | 
			
		||||
    multiPartBuilder.addBinaryBody("file", _file);
 | 
			
		||||
    hasFiles = true;
 | 
			
		||||
    HttpEntity entity = multiPartBuilder.build();
 | 
			
		||||
    HttpRequest.BodyPublisher formDataPublisher;
 | 
			
		||||
    if (hasFiles) {
 | 
			
		||||
        Pipe pipe;
 | 
			
		||||
        try {
 | 
			
		||||
            pipe = Pipe.open();
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        new Thread(() -> {
 | 
			
		||||
            try (OutputStream outputStream = Channels.newOutputStream(pipe.sink())) {
 | 
			
		||||
                entity.writeTo(outputStream);
 | 
			
		||||
            } catch (IOException e) {
 | 
			
		||||
                e.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }).start();
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers.ofInputStream(() -> Channels.newInputStream(pipe.source()));
 | 
			
		||||
    } else {
 | 
			
		||||
        ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
        try {
 | 
			
		||||
            entity.writeTo(formOutputStream);
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray()));
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("POST", formDataPublisher);
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -21,9 +21,21 @@ import org.openapitools.client.model.Order;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -22,9 +22,21 @@ import org.openapitools.client.model.User;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -65,6 +65,7 @@ ext {
 | 
			
		||||
    jackson_version = "2.14.1"
 | 
			
		||||
    jakarta_annotation_version = "1.3.5"
 | 
			
		||||
    junit_version = "4.13.2"
 | 
			
		||||
    httpmime_version = "4.5.13"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
@ -75,5 +76,6 @@ dependencies {
 | 
			
		||||
    implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jackson_version"
 | 
			
		||||
    implementation "org.openapitools:jackson-databind-nullable:0.2.1"
 | 
			
		||||
    implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version"
 | 
			
		||||
    implementation "org.apache.httpcomponents:httpmime:$httpmime_version"
 | 
			
		||||
    testImplementation "junit:junit:$junit_version"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -194,6 +194,11 @@
 | 
			
		||||
            <version>${jakarta-annotation-version}</version>
 | 
			
		||||
            <scope>provided</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.apache.httpcomponents</groupId>
 | 
			
		||||
            <artifactId>httpmime</artifactId>
 | 
			
		||||
            <version>${httpmime-version}</version>
 | 
			
		||||
        </dependency>
 | 
			
		||||
 | 
			
		||||
        <!-- test dependencies -->
 | 
			
		||||
        <dependency>
 | 
			
		||||
@ -211,6 +216,7 @@
 | 
			
		||||
        <jackson-version>2.14.1</jackson-version>
 | 
			
		||||
        <jackson-databind-nullable-version>0.2.4</jackson-databind-nullable-version>
 | 
			
		||||
        <jakarta-annotation-version>1.3.5</jakarta-annotation-version>
 | 
			
		||||
        <httpmime-version>4.5.13</httpmime-version>
 | 
			
		||||
        <junit-version>4.13.2</junit-version>
 | 
			
		||||
    </properties>
 | 
			
		||||
</project>
 | 
			
		||||
 | 
			
		||||
@ -21,9 +21,21 @@ import org.openapitools.client.model.Client;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -21,9 +21,21 @@ import org.openapitools.client.model.FooGetDefaultResponse;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -30,9 +30,21 @@ import org.openapitools.client.model.User;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
@ -861,7 +873,32 @@ public class FakeApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    List<NameValuePair> formValues = new ArrayList<>();
 | 
			
		||||
    formValues.add(new BasicNameValuePair("integer", integer.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("int32", int32.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("int64", int64.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("number", number.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("float", _float.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("double", _double.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("string", string.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("pattern_without_delimiter", patternWithoutDelimiter.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("byte", _byte.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("binary", binary.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("date", date.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("dateTime", dateTime.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("password", password.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("callback", paramCallback.toString()));
 | 
			
		||||
    HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
 | 
			
		||||
    ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
    try {
 | 
			
		||||
        entity.writeTo(formOutputStream);
 | 
			
		||||
    } catch (IOException e) {
 | 
			
		||||
        throw new RuntimeException(e);
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("POST", HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray())));
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
@ -972,7 +1009,22 @@ public class FakeApi {
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    List<NameValuePair> formValues = new ArrayList<>();
 | 
			
		||||
    for (int i=0; i < enumFormStringArray.size(); i++) {
 | 
			
		||||
        formValues.add(new BasicNameValuePair("enum_form_string_array", enumFormStringArray.get(i).toString()));
 | 
			
		||||
    }
 | 
			
		||||
    formValues.add(new BasicNameValuePair("enum_form_string", enumFormString.toString()));
 | 
			
		||||
    HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
 | 
			
		||||
    ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
    try {
 | 
			
		||||
        entity.writeTo(formOutputStream);
 | 
			
		||||
    } catch (IOException e) {
 | 
			
		||||
        throw new RuntimeException(e);
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("GET", HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray())));
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
@ -1361,7 +1413,20 @@ public class FakeApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    List<NameValuePair> formValues = new ArrayList<>();
 | 
			
		||||
    formValues.add(new BasicNameValuePair("param", param.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("param2", param2.toString()));
 | 
			
		||||
    HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
 | 
			
		||||
    ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
    try {
 | 
			
		||||
        entity.writeTo(formOutputStream);
 | 
			
		||||
    } catch (IOException e) {
 | 
			
		||||
        throw new RuntimeException(e);
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("GET", HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray())));
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -21,9 +21,21 @@ import org.openapitools.client.model.Client;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -23,9 +23,21 @@ import org.openapitools.client.model.Pet;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
@ -634,7 +646,20 @@ public class PetApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    List<NameValuePair> formValues = new ArrayList<>();
 | 
			
		||||
    formValues.add(new BasicNameValuePair("name", name.toString()));
 | 
			
		||||
    formValues.add(new BasicNameValuePair("status", status.toString()));
 | 
			
		||||
    HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
 | 
			
		||||
    ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
    try {
 | 
			
		||||
        entity.writeTo(formOutputStream);
 | 
			
		||||
    } catch (IOException e) {
 | 
			
		||||
        throw new RuntimeException(e);
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("POST", HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray())));
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
@ -710,7 +735,41 @@ public class PetApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    MultipartEntityBuilder multiPartBuilder = MultipartEntityBuilder.create();
 | 
			
		||||
    boolean hasFiles = false;
 | 
			
		||||
    multiPartBuilder.addTextBody("additionalMetadata", additionalMetadata.toString());
 | 
			
		||||
    multiPartBuilder.addBinaryBody("file", _file);
 | 
			
		||||
    hasFiles = true;
 | 
			
		||||
    HttpEntity entity = multiPartBuilder.build();
 | 
			
		||||
    HttpRequest.BodyPublisher formDataPublisher;
 | 
			
		||||
    if (hasFiles) {
 | 
			
		||||
        Pipe pipe;
 | 
			
		||||
        try {
 | 
			
		||||
            pipe = Pipe.open();
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        new Thread(() -> {
 | 
			
		||||
            try (OutputStream outputStream = Channels.newOutputStream(pipe.sink())) {
 | 
			
		||||
                entity.writeTo(outputStream);
 | 
			
		||||
            } catch (IOException e) {
 | 
			
		||||
                e.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }).start();
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers.ofInputStream(() -> Channels.newInputStream(pipe.source()));
 | 
			
		||||
    } else {
 | 
			
		||||
        ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
        try {
 | 
			
		||||
            entity.writeTo(formOutputStream);
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray()));
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("POST", formDataPublisher);
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
@ -790,7 +849,41 @@ public class PetApi {
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.header("Accept", "application/json");
 | 
			
		||||
 | 
			
		||||
    localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody());
 | 
			
		||||
    MultipartEntityBuilder multiPartBuilder = MultipartEntityBuilder.create();
 | 
			
		||||
    boolean hasFiles = false;
 | 
			
		||||
    multiPartBuilder.addTextBody("additionalMetadata", additionalMetadata.toString());
 | 
			
		||||
    multiPartBuilder.addBinaryBody("requiredFile", requiredFile);
 | 
			
		||||
    hasFiles = true;
 | 
			
		||||
    HttpEntity entity = multiPartBuilder.build();
 | 
			
		||||
    HttpRequest.BodyPublisher formDataPublisher;
 | 
			
		||||
    if (hasFiles) {
 | 
			
		||||
        Pipe pipe;
 | 
			
		||||
        try {
 | 
			
		||||
            pipe = Pipe.open();
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        new Thread(() -> {
 | 
			
		||||
            try (OutputStream outputStream = Channels.newOutputStream(pipe.sink())) {
 | 
			
		||||
                entity.writeTo(outputStream);
 | 
			
		||||
            } catch (IOException e) {
 | 
			
		||||
                e.printStackTrace();
 | 
			
		||||
            }
 | 
			
		||||
        }).start();
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers.ofInputStream(() -> Channels.newInputStream(pipe.source()));
 | 
			
		||||
    } else {
 | 
			
		||||
        ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
 | 
			
		||||
        try {
 | 
			
		||||
            entity.writeTo(formOutputStream);
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            throw new RuntimeException(e);
 | 
			
		||||
        }
 | 
			
		||||
        formDataPublisher = HttpRequest.BodyPublishers
 | 
			
		||||
            .ofInputStream(() -> new ByteArrayInputStream(formOutputStream.toByteArray()));
 | 
			
		||||
    }
 | 
			
		||||
    localVarRequestBuilder
 | 
			
		||||
        .header("Content-Type", entity.getContentType().getValue())
 | 
			
		||||
        .method("POST", formDataPublisher);
 | 
			
		||||
    if (memberVarReadTimeout != null) {
 | 
			
		||||
      localVarRequestBuilder.timeout(memberVarReadTimeout);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -21,9 +21,21 @@ import org.openapitools.client.model.Order;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
@ -22,9 +22,21 @@ import org.openapitools.client.model.User;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.type.TypeReference;
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import org.apache.http.HttpEntity;
 | 
			
		||||
import org.apache.http.NameValuePair;
 | 
			
		||||
import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
			
		||||
import org.apache.http.message.BasicNameValuePair;
 | 
			
		||||
import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.ByteArrayInputStream;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
import java.nio.channels.Channels;
 | 
			
		||||
import java.nio.channels.Pipe;
 | 
			
		||||
import java.net.URI;
 | 
			
		||||
import java.net.http.HttpClient;
 | 
			
		||||
import java.net.http.HttpRequest;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user