diff --git a/modules/swagger-codegen/src/main/resources/Java/ApiClient.mustache b/modules/swagger-codegen/src/main/resources/Java/ApiClient.mustache
index be339eca404..8c2f4577520 100644
--- a/modules/swagger-codegen/src/main/resources/Java/ApiClient.mustache
+++ b/modules/swagger-codegen/src/main/resources/Java/ApiClient.mustache
@@ -458,11 +458,13 @@ public class ApiClient {
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
+ * application/vnd.company+json
* @param mime MIME
* @return True if MIME type is boolean
*/
public boolean isJsonMime(String mime) {
- return mime != null && mime.matches("(?i)application\\/json(;.*)?");
+ String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
+ return mime != null && mime.matches(jsonMime);
}
/**
diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/ApiClient.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/ApiClient.mustache
index 5eecde91664..d44d724454e 100644
--- a/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/ApiClient.mustache
+++ b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/ApiClient.mustache
@@ -436,11 +436,13 @@ public class ApiClient {
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
+ * application/vnd.company+json
* @param mime MIME
* @return True if the MIME type is JSON
*/
public boolean isJsonMime(String mime) {
- return mime != null && mime.matches("(?i)application\\/json(;.*)?");
+ String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
+ return mime != null && mime.matches(jsonMime);
}
/**
diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache
index b119a5e35ef..537179fd079 100644
--- a/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache
+++ b/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache
@@ -720,12 +720,13 @@ public class ApiClient {
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
- *
+ * application/vnd.company+json
* @param mime MIME (Multipurpose Internet Mail Extensions)
* @return True if the given MIME is JSON, false otherwise.
*/
public boolean isJsonMime(String mime) {
- return mime != null && mime.matches("(?i)application\\/json(;.*)?");
+ String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
+ return mime != null && mime.matches(jsonMime);
}
/**
diff --git a/samples/client/petstore-security-test/java/okhttp-gson/pom.xml b/samples/client/petstore-security-test/java/okhttp-gson/pom.xml
index be07768b92e..9ab87a8691c 100644
--- a/samples/client/petstore-security-test/java/okhttp-gson/pom.xml
+++ b/samples/client/petstore-security-test/java/okhttp-gson/pom.xml
@@ -6,8 +6,10 @@
jar
swagger-petstore-okhttp-gson
1.0.0
+ https://github.com/swagger-api/swagger-codegen
+ Swagger Java
- scm:git:git@github.com:swagger-api/swagger-mustache.git
+ scm:git:git@github.com:swagger-api/swagger-codegen.git
scm:git:git@github.com:swagger-api/swagger-codegen.git
https://github.com/swagger-api/swagger-codegen
@@ -22,7 +24,16 @@
repo
-
+
+
+
+ Swagger
+ apiteam@swagger.io
+ Swagger
+ http://swagger.io
+
+
+
@@ -108,9 +119,55 @@
org.apache.maven.plugins
maven-javadoc-plugin
2.10.4
+
+
+ attach-javadocs
+
+ jar
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 2.2.1
+
+
+ attach-sources
+
+ jar-no-fork
+
+
+
+
+
+
+ sign-artifacts
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 1.5
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+
+
+
+
+
+
io.swagger
@@ -149,7 +206,7 @@
1.7
${java.version}
${java.version}
- 1.5.9
+ 1.5.12
2.7.5
2.6.2
2.9.3
diff --git a/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/ApiClient.java b/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/ApiClient.java
index 6a443dd2a9f..fcc2693df50 100644
--- a/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/ApiClient.java
+++ b/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/ApiClient.java
@@ -139,6 +139,7 @@ public class ApiClient {
public ApiClient() {
httpClient = new OkHttpClient();
+
verifyingSsl = true;
json = new JSON(this);
@@ -725,12 +726,13 @@ public String sanitizeFilename(String filename) {
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
- *
+ * application/vnd.company+json
* @param mime MIME (Multipurpose Internet Mail Extensions)
* @return True if the given MIME is JSON, false otherwise.
*/
public boolean isJsonMime(String mime) {
- return mime != null && mime.matches("(?i)application\\/json(;.*)?");
+ String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
+ return mime != null && mime.matches(jsonMime);
}
/**
diff --git a/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/GzipRequestInterceptor.java b/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/GzipRequestInterceptor.java
new file mode 100644
index 00000000000..179abb3a540
--- /dev/null
+++ b/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/GzipRequestInterceptor.java
@@ -0,0 +1,81 @@
+/*
+ * Swagger Petstore *_/ ' \" =end -- \\r\\n \\n \\r
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ *_/ ' \" =end --
+ *
+ * OpenAPI spec version: 1.0.0 *_/ ' \" =end -- \\r\\n \\n \\r
+ * Contact: apiteam@swagger.io *_/ ' \" =end -- \\r\\n \\n \\r
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+
+package io.swagger.client;
+
+import com.squareup.okhttp.*;
+import okio.Buffer;
+import okio.BufferedSink;
+import okio.GzipSink;
+import okio.Okio;
+
+import java.io.IOException;
+
+/**
+ * Encodes request bodies using gzip.
+ *
+ * Taken from https://github.com/square/okhttp/issues/350
+ */
+class GzipRequestInterceptor implements Interceptor {
+ @Override public Response intercept(Chain chain) throws IOException {
+ Request originalRequest = chain.request();
+ if (originalRequest.body() == null || originalRequest.header("Content-Encoding") != null) {
+ return chain.proceed(originalRequest);
+ }
+
+ Request compressedRequest = originalRequest.newBuilder()
+ .header("Content-Encoding", "gzip")
+ .method(originalRequest.method(), forceContentLength(gzip(originalRequest.body())))
+ .build();
+ return chain.proceed(compressedRequest);
+ }
+
+ private RequestBody forceContentLength(final RequestBody requestBody) throws IOException {
+ final Buffer buffer = new Buffer();
+ requestBody.writeTo(buffer);
+ return new RequestBody() {
+ @Override
+ public MediaType contentType() {
+ return requestBody.contentType();
+ }
+
+ @Override
+ public long contentLength() {
+ return buffer.size();
+ }
+
+ @Override
+ public void writeTo(BufferedSink sink) throws IOException {
+ sink.write(buffer.snapshot());
+ }
+ };
+ }
+
+ private RequestBody gzip(final RequestBody body) {
+ return new RequestBody() {
+ @Override public MediaType contentType() {
+ return body.contentType();
+ }
+
+ @Override public long contentLength() {
+ return -1; // We don't know the compressed length in advance!
+ }
+
+ @Override public void writeTo(BufferedSink sink) throws IOException {
+ BufferedSink gzipSink = Okio.buffer(new GzipSink(sink));
+ body.writeTo(gzipSink);
+ gzipSink.close();
+ }
+ };
+ }
+}
\ No newline at end of file
diff --git a/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/api/FakeApi.java b/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/api/FakeApi.java
index 8a4e08dc244..40a7942e682 100644
--- a/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/api/FakeApi.java
+++ b/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/api/FakeApi.java
@@ -9,159 +9,166 @@
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
-
-
-package io.swagger.client.api;
-
-import io.swagger.client.ApiCallback;
-import io.swagger.client.ApiClient;
-import io.swagger.client.ApiException;
-import io.swagger.client.ApiResponse;
-import io.swagger.client.Configuration;
-import io.swagger.client.Pair;
-import io.swagger.client.ProgressRequestBody;
-import io.swagger.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class FakeApi {
- private ApiClient apiClient;
-
- public FakeApi() {
- this(Configuration.getDefaultApiClient());
- }
-
- public FakeApi(ApiClient apiClient) {
- this.apiClient = apiClient;
- }
-
- public ApiClient getApiClient() {
- return apiClient;
- }
-
- public void setApiClient(ApiClient apiClient) {
- this.apiClient = apiClient;
- }
-
- /* Build call for testCodeInjectEndRnNR */
- private com.squareup.okhttp.Call testCodeInjectEndRnNRCall(String testCodeInjectEndRnNR, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
- Object localVarPostBody = null;
-
- // create path and map variables
- String localVarPath = "/fake".replaceAll("\\{format\\}","json");
-
- List localVarQueryParams = new ArrayList();
-
- Map localVarHeaderParams = new HashMap();
-
- Map localVarFormParams = new HashMap();
- if (testCodeInjectEndRnNR != null)
- localVarFormParams.put("test code inject */ ' " =end -- \r\n \n \r", testCodeInjectEndRnNR);
-
- final String[] localVarAccepts = {
- "application/json", "*_/ ' =end -- "
- };
- final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
- if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
- final String[] localVarContentTypes = {
- "application/json", "*_/ ' =end -- "
- };
- final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
- localVarHeaderParams.put("Content-Type", localVarContentType);
-
- if(progressListener != null) {
- apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
- @Override
- public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
- com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
- return originalResponse.newBuilder()
- .body(new ProgressResponseBody(originalResponse.body(), progressListener))
- .build();
- }
- });
- }
-
- String[] localVarAuthNames = new String[] { };
- return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
- }
-
- @SuppressWarnings("rawtypes")
- private com.squareup.okhttp.Call testCodeInjectEndRnNRValidateBeforeCall(String testCodeInjectEndRnNR, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-
-
- com.squareup.okhttp.Call call = testCodeInjectEndRnNRCall(testCodeInjectEndRnNR, progressListener, progressRequestListener);
- return call;
-
-
-
-
-
- }
-
- /**
- * To test code injection *_/ ' \" =end -- \\r\\n \\n \\r
- *
- * @param testCodeInjectEndRnNR To test code injection *_/ ' \" =end -- \\r\\n \\n \\r (optional)
- * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
- */
- public void testCodeInjectEndRnNR(String testCodeInjectEndRnNR) throws ApiException {
- testCodeInjectEndRnNRWithHttpInfo(testCodeInjectEndRnNR);
- }
-
- /**
- * To test code injection *_/ ' \" =end -- \\r\\n \\n \\r
- *
- * @param testCodeInjectEndRnNR To test code injection *_/ ' \" =end -- \\r\\n \\n \\r (optional)
- * @return ApiResponse<Void>
- * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
- */
- public ApiResponse testCodeInjectEndRnNRWithHttpInfo(String testCodeInjectEndRnNR) throws ApiException {
- com.squareup.okhttp.Call call = testCodeInjectEndRnNRValidateBeforeCall(testCodeInjectEndRnNR, null, null);
- return apiClient.execute(call);
- }
-
- /**
- * To test code injection *_/ ' \" =end -- \\r\\n \\n \\r (asynchronously)
- *
- * @param testCodeInjectEndRnNR To test code injection *_/ ' \" =end -- \\r\\n \\n \\r (optional)
- * @param callback The callback to be executed when the API call finishes
- * @return The request call
- * @throws ApiException If fail to process the API call, e.g. serializing the request body object
- */
- public com.squareup.okhttp.Call testCodeInjectEndRnNRAsync(String testCodeInjectEndRnNR, final ApiCallback callback) throws ApiException {
-
- ProgressResponseBody.ProgressListener progressListener = null;
- ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
- if (callback != null) {
- progressListener = new ProgressResponseBody.ProgressListener() {
- @Override
- public void update(long bytesRead, long contentLength, boolean done) {
- callback.onDownloadProgress(bytesRead, contentLength, done);
- }
- };
-
- progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
- @Override
- public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
- callback.onUploadProgress(bytesWritten, contentLength, done);
- }
- };
- }
-
- com.squareup.okhttp.Call call = testCodeInjectEndRnNRValidateBeforeCall(testCodeInjectEndRnNR, progressListener, progressRequestListener);
- apiClient.executeAsync(call, callback);
- return call;
- }
-}
+
+
+package io.swagger.client.api;
+
+import io.swagger.client.ApiCallback;
+import io.swagger.client.ApiClient;
+import io.swagger.client.ApiException;
+import io.swagger.client.ApiResponse;
+import io.swagger.client.Configuration;
+import io.swagger.client.Pair;
+import io.swagger.client.ProgressRequestBody;
+import io.swagger.client.ProgressResponseBody;
+
+import com.google.gson.reflect.TypeToken;
+
+import java.io.IOException;
+
+
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class FakeApi {
+ private ApiClient apiClient;
+
+ public FakeApi() {
+ this(Configuration.getDefaultApiClient());
+ }
+
+ public FakeApi(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ public ApiClient getApiClient() {
+ return apiClient;
+ }
+
+ public void setApiClient(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Build call for testCodeInjectEndRnNR
+ * @param testCodeInjectEndRnNR To test code injection *_/ ' \" =end -- \\r\\n \\n \\r (optional)
+ * @param progressListener Progress listener
+ * @param progressRequestListener Progress request listener
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ */
+ public com.squareup.okhttp.Call testCodeInjectEndRnNRCall(String testCodeInjectEndRnNR, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/fake";
+
+ List localVarQueryParams = new ArrayList();
+
+ Map localVarHeaderParams = new HashMap();
+
+ Map localVarFormParams = new HashMap();
+ if (testCodeInjectEndRnNR != null)
+ localVarFormParams.put("test code inject */ ' " =end -- \r\n \n \r", testCodeInjectEndRnNR);
+
+ final String[] localVarAccepts = {
+ "application/json", "*_/ ' =end -- "
+ };
+ final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+ final String[] localVarContentTypes = {
+ "application/json", "*_/ ' =end -- "
+ };
+ final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ if(progressListener != null) {
+ apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
+ @Override
+ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
+ com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
+ return originalResponse.newBuilder()
+ .body(new ProgressResponseBody(originalResponse.body(), progressListener))
+ .build();
+ }
+ });
+ }
+
+ String[] localVarAuthNames = new String[] { };
+ return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private com.squareup.okhttp.Call testCodeInjectEndRnNRValidateBeforeCall(String testCodeInjectEndRnNR, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+
+
+ com.squareup.okhttp.Call call = testCodeInjectEndRnNRCall(testCodeInjectEndRnNR, progressListener, progressRequestListener);
+ return call;
+
+
+
+
+
+ }
+
+ /**
+ * To test code injection *_/ ' \" =end -- \\r\\n \\n \\r
+ *
+ * @param testCodeInjectEndRnNR To test code injection *_/ ' \" =end -- \\r\\n \\n \\r (optional)
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ */
+ public void testCodeInjectEndRnNR(String testCodeInjectEndRnNR) throws ApiException {
+ testCodeInjectEndRnNRWithHttpInfo(testCodeInjectEndRnNR);
+ }
+
+ /**
+ * To test code injection *_/ ' \" =end -- \\r\\n \\n \\r
+ *
+ * @param testCodeInjectEndRnNR To test code injection *_/ ' \" =end -- \\r\\n \\n \\r (optional)
+ * @return ApiResponse<Void>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ */
+ public ApiResponse testCodeInjectEndRnNRWithHttpInfo(String testCodeInjectEndRnNR) throws ApiException {
+ com.squareup.okhttp.Call call = testCodeInjectEndRnNRValidateBeforeCall(testCodeInjectEndRnNR, null, null);
+ return apiClient.execute(call);
+ }
+
+ /**
+ * To test code injection *_/ ' \" =end -- \\r\\n \\n \\r (asynchronously)
+ *
+ * @param testCodeInjectEndRnNR To test code injection *_/ ' \" =end -- \\r\\n \\n \\r (optional)
+ * @param callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ */
+ public com.squareup.okhttp.Call testCodeInjectEndRnNRAsync(String testCodeInjectEndRnNR, final ApiCallback callback) throws ApiException {
+
+ ProgressResponseBody.ProgressListener progressListener = null;
+ ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
+
+ if (callback != null) {
+ progressListener = new ProgressResponseBody.ProgressListener() {
+ @Override
+ public void update(long bytesRead, long contentLength, boolean done) {
+ callback.onDownloadProgress(bytesRead, contentLength, done);
+ }
+ };
+
+ progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
+ @Override
+ public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
+ callback.onUploadProgress(bytesWritten, contentLength, done);
+ }
+ };
+ }
+
+ com.squareup.okhttp.Call call = testCodeInjectEndRnNRValidateBeforeCall(testCodeInjectEndRnNR, progressListener, progressRequestListener);
+ apiClient.executeAsync(call, callback);
+ return call;
+ }
+}
diff --git a/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/model/ModelReturn.java b/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/model/ModelReturn.java
index 7e26fef904c..55a24114ddd 100644
--- a/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/model/ModelReturn.java
+++ b/samples/client/petstore-security-test/java/okhttp-gson/src/main/java/io/swagger/client/model/ModelReturn.java
@@ -36,7 +36,7 @@ public ModelReturn _return(Integer _return) {
* property description *_/ ' \" =end -- \\r\\n \\n \\r
* @return _return
**/
- @ApiModelProperty(example = "null", value = "property description *_/ ' \" =end -- \\r\\n \\n \\r")
+ @ApiModelProperty(value = "property description *_/ ' \" =end -- \\r\\n \\n \\r")
public Integer getReturn() {
return _return;
}
diff --git a/samples/client/petstore/java/jersey1/src/main/java/io/swagger/client/ApiClient.java b/samples/client/petstore/java/jersey1/src/main/java/io/swagger/client/ApiClient.java
index 446b7943377..8307cdf5ffc 100644
--- a/samples/client/petstore/java/jersey1/src/main/java/io/swagger/client/ApiClient.java
+++ b/samples/client/petstore/java/jersey1/src/main/java/io/swagger/client/ApiClient.java
@@ -459,11 +459,13 @@ public List parameterToPairs(String collectionFormat, String name, Object
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
+ * application/vnd.company+json
* @param mime MIME
* @return True if MIME type is boolean
*/
public boolean isJsonMime(String mime) {
- return mime != null && mime.matches("(?i)application\\/json(;.*)?");
+ String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
+ return mime != null && mime.matches(jsonMime);
}
/**
diff --git a/samples/client/petstore/java/jersey1/src/test/java/io/swagger/client/ApiClientTest.java b/samples/client/petstore/java/jersey1/src/test/java/io/swagger/client/ApiClientTest.java
index 19b55257d0c..c8824547303 100644
--- a/samples/client/petstore/java/jersey1/src/test/java/io/swagger/client/ApiClientTest.java
+++ b/samples/client/petstore/java/jersey1/src/test/java/io/swagger/client/ApiClientTest.java
@@ -40,15 +40,26 @@ public void testParseAndFormatDate() {
@Test
public void testIsJsonMime() {
- assertFalse(apiClient.isJsonMime(null));
- assertFalse(apiClient.isJsonMime(""));
- assertFalse(apiClient.isJsonMime("text/plain"));
- assertFalse(apiClient.isJsonMime("application/xml"));
- assertFalse(apiClient.isJsonMime("application/jsonp"));
-
- assertTrue(apiClient.isJsonMime("application/json"));
- assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
- assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
+ assertFalse(apiClient.isJsonMime(null));
+ assertFalse(apiClient.isJsonMime(""));
+ assertFalse(apiClient.isJsonMime("text/plain"));
+ assertFalse(apiClient.isJsonMime("application/xml"));
+ assertFalse(apiClient.isJsonMime("application/jsonp"));
+ assertFalse(apiClient.isJsonMime("example/json"));
+ assertFalse(apiClient.isJsonMime("example/foo+bar+jsonx"));
+ assertFalse(apiClient.isJsonMime("example/foo+bar+xjson"));
+
+ assertTrue(apiClient.isJsonMime("application/json"));
+ assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
+ assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
+
+ assertTrue(apiClient.isJsonMime("application/problem+json"));
+ assertTrue(apiClient.isJsonMime("APPLICATION/PROBLEM+JSON"));
+ assertTrue(apiClient.isJsonMime("application/json\t"));
+ assertTrue(apiClient.isJsonMime("example/foo+bar+json"));
+ assertTrue(apiClient.isJsonMime("example/foo+json;x;y"));
+ assertTrue(apiClient.isJsonMime("example/foo+json\t;"));
+ assertTrue(apiClient.isJsonMime("Example/fOO+JSON"));
}
@Test
diff --git a/samples/client/petstore/java/jersey2-java6/src/main/java/io/swagger/client/ApiClient.java b/samples/client/petstore/java/jersey2-java6/src/main/java/io/swagger/client/ApiClient.java
index 74d0376e735..31c5d60d626 100644
--- a/samples/client/petstore/java/jersey2-java6/src/main/java/io/swagger/client/ApiClient.java
+++ b/samples/client/petstore/java/jersey2-java6/src/main/java/io/swagger/client/ApiClient.java
@@ -431,11 +431,13 @@ public List parameterToPairs(String collectionFormat, String name, Object
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
+ * application/vnd.company+json
* @param mime MIME
* @return True if the MIME type is JSON
*/
public boolean isJsonMime(String mime) {
- return mime != null && mime.matches("(?i)application\\/json(;.*)?");
+ String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
+ return mime != null && mime.matches(jsonMime);
}
/**
diff --git a/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/ApiClient.java b/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/ApiClient.java
index 2ebc1336a98..2878363c980 100644
--- a/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/ApiClient.java
+++ b/samples/client/petstore/java/jersey2-java8/src/main/java/io/swagger/client/ApiClient.java
@@ -431,11 +431,13 @@ public List parameterToPairs(String collectionFormat, String name, Object
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
+ * application/vnd.company+json
* @param mime MIME
* @return True if the MIME type is JSON
*/
public boolean isJsonMime(String mime) {
- return mime != null && mime.matches("(?i)application\\/json(;.*)?");
+ String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
+ return mime != null && mime.matches(jsonMime);
}
/**
diff --git a/samples/client/petstore/java/jersey2-java8/src/test/java/io/swagger/client/ApiClientTest.java b/samples/client/petstore/java/jersey2-java8/src/test/java/io/swagger/client/ApiClientTest.java
index 19b55257d0c..c8824547303 100644
--- a/samples/client/petstore/java/jersey2-java8/src/test/java/io/swagger/client/ApiClientTest.java
+++ b/samples/client/petstore/java/jersey2-java8/src/test/java/io/swagger/client/ApiClientTest.java
@@ -40,15 +40,26 @@ public void testParseAndFormatDate() {
@Test
public void testIsJsonMime() {
- assertFalse(apiClient.isJsonMime(null));
- assertFalse(apiClient.isJsonMime(""));
- assertFalse(apiClient.isJsonMime("text/plain"));
- assertFalse(apiClient.isJsonMime("application/xml"));
- assertFalse(apiClient.isJsonMime("application/jsonp"));
-
- assertTrue(apiClient.isJsonMime("application/json"));
- assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
- assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
+ assertFalse(apiClient.isJsonMime(null));
+ assertFalse(apiClient.isJsonMime(""));
+ assertFalse(apiClient.isJsonMime("text/plain"));
+ assertFalse(apiClient.isJsonMime("application/xml"));
+ assertFalse(apiClient.isJsonMime("application/jsonp"));
+ assertFalse(apiClient.isJsonMime("example/json"));
+ assertFalse(apiClient.isJsonMime("example/foo+bar+jsonx"));
+ assertFalse(apiClient.isJsonMime("example/foo+bar+xjson"));
+
+ assertTrue(apiClient.isJsonMime("application/json"));
+ assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
+ assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
+
+ assertTrue(apiClient.isJsonMime("application/problem+json"));
+ assertTrue(apiClient.isJsonMime("APPLICATION/PROBLEM+JSON"));
+ assertTrue(apiClient.isJsonMime("application/json\t"));
+ assertTrue(apiClient.isJsonMime("example/foo+bar+json"));
+ assertTrue(apiClient.isJsonMime("example/foo+json;x;y"));
+ assertTrue(apiClient.isJsonMime("example/foo+json\t;"));
+ assertTrue(apiClient.isJsonMime("Example/fOO+JSON"));
}
@Test
diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/ApiClient.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/ApiClient.java
index 2ebc1336a98..2878363c980 100644
--- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/ApiClient.java
+++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/ApiClient.java
@@ -431,11 +431,13 @@ public List parameterToPairs(String collectionFormat, String name, Object
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
+ * application/vnd.company+json
* @param mime MIME
* @return True if the MIME type is JSON
*/
public boolean isJsonMime(String mime) {
- return mime != null && mime.matches("(?i)application\\/json(;.*)?");
+ String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
+ return mime != null && mime.matches(jsonMime);
}
/**
diff --git a/samples/client/petstore/java/jersey2/src/test/java/io/swagger/client/ApiClientTest.java b/samples/client/petstore/java/jersey2/src/test/java/io/swagger/client/ApiClientTest.java
index 19b55257d0c..c8824547303 100644
--- a/samples/client/petstore/java/jersey2/src/test/java/io/swagger/client/ApiClientTest.java
+++ b/samples/client/petstore/java/jersey2/src/test/java/io/swagger/client/ApiClientTest.java
@@ -40,15 +40,26 @@ public void testParseAndFormatDate() {
@Test
public void testIsJsonMime() {
- assertFalse(apiClient.isJsonMime(null));
- assertFalse(apiClient.isJsonMime(""));
- assertFalse(apiClient.isJsonMime("text/plain"));
- assertFalse(apiClient.isJsonMime("application/xml"));
- assertFalse(apiClient.isJsonMime("application/jsonp"));
-
- assertTrue(apiClient.isJsonMime("application/json"));
- assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
- assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
+ assertFalse(apiClient.isJsonMime(null));
+ assertFalse(apiClient.isJsonMime(""));
+ assertFalse(apiClient.isJsonMime("text/plain"));
+ assertFalse(apiClient.isJsonMime("application/xml"));
+ assertFalse(apiClient.isJsonMime("application/jsonp"));
+ assertFalse(apiClient.isJsonMime("example/json"));
+ assertFalse(apiClient.isJsonMime("example/foo+bar+jsonx"));
+ assertFalse(apiClient.isJsonMime("example/foo+bar+xjson"));
+
+ assertTrue(apiClient.isJsonMime("application/json"));
+ assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
+ assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
+
+ assertTrue(apiClient.isJsonMime("application/problem+json"));
+ assertTrue(apiClient.isJsonMime("APPLICATION/PROBLEM+JSON"));
+ assertTrue(apiClient.isJsonMime("application/json\t"));
+ assertTrue(apiClient.isJsonMime("example/foo+bar+json"));
+ assertTrue(apiClient.isJsonMime("example/foo+json;x;y"));
+ assertTrue(apiClient.isJsonMime("example/foo+json\t;"));
+ assertTrue(apiClient.isJsonMime("Example/fOO+JSON"));
}
@Test
diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/ApiClient.java
index 59b054e31c9..c39625501fc 100644
--- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/ApiClient.java
+++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/ApiClient.java
@@ -727,12 +727,13 @@ public String sanitizeFilename(String filename) {
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
- *
+ * application/vnd.company+json
* @param mime MIME (Multipurpose Internet Mail Extensions)
* @return True if the given MIME is JSON, false otherwise.
*/
public boolean isJsonMime(String mime) {
- return mime != null && mime.matches("(?i)application\\/json(;.*)?");
+ String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
+ return mime != null && mime.matches(jsonMime);
}
/**
diff --git a/samples/client/petstore/java/okhttp-gson/src/test/java/io/swagger/client/ApiClientTest.java b/samples/client/petstore/java/okhttp-gson/src/test/java/io/swagger/client/ApiClientTest.java
index 5345e2a1646..bec38b44d98 100644
--- a/samples/client/petstore/java/okhttp-gson/src/test/java/io/swagger/client/ApiClientTest.java
+++ b/samples/client/petstore/java/okhttp-gson/src/test/java/io/swagger/client/ApiClientTest.java
@@ -79,15 +79,26 @@ public void testParseAndFormatDate() {
@Test
public void testIsJsonMime() {
- assertFalse(apiClient.isJsonMime(null));
- assertFalse(apiClient.isJsonMime(""));
- assertFalse(apiClient.isJsonMime("text/plain"));
- assertFalse(apiClient.isJsonMime("application/xml"));
- assertFalse(apiClient.isJsonMime("application/jsonp"));
-
- assertTrue(apiClient.isJsonMime("application/json"));
- assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
- assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
+ assertFalse(apiClient.isJsonMime(null));
+ assertFalse(apiClient.isJsonMime(""));
+ assertFalse(apiClient.isJsonMime("text/plain"));
+ assertFalse(apiClient.isJsonMime("application/xml"));
+ assertFalse(apiClient.isJsonMime("application/jsonp"));
+ assertFalse(apiClient.isJsonMime("example/json"));
+ assertFalse(apiClient.isJsonMime("example/foo+bar+jsonx"));
+ assertFalse(apiClient.isJsonMime("example/foo+bar+xjson"));
+
+ assertTrue(apiClient.isJsonMime("application/json"));
+ assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
+ assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
+
+ assertTrue(apiClient.isJsonMime("application/problem+json"));
+ assertTrue(apiClient.isJsonMime("APPLICATION/PROBLEM+JSON"));
+ assertTrue(apiClient.isJsonMime("application/json\t"));
+ assertTrue(apiClient.isJsonMime("example/foo+bar+json"));
+ assertTrue(apiClient.isJsonMime("example/foo+json;x;y"));
+ assertTrue(apiClient.isJsonMime("example/foo+json\t;"));
+ assertTrue(apiClient.isJsonMime("Example/fOO+JSON"));
}
@Test