diff --git a/servicetalk-http-api/src/main/java/io/servicetalk/http/api/FormUrlEncodedSerializer.java b/servicetalk-http-api/src/main/java/io/servicetalk/http/api/FormUrlEncodedSerializer.java index c9d6820468..c3292e3f4b 100644 --- a/servicetalk-http-api/src/main/java/io/servicetalk/http/api/FormUrlEncodedSerializer.java +++ b/servicetalk-http-api/src/main/java/io/servicetalk/http/api/FormUrlEncodedSerializer.java @@ -36,7 +36,10 @@ import static io.servicetalk.utils.internal.CharsetUtils.standardCharsets; import static java.util.Collections.emptyMap; -final class FormUrlEncodedSerializer implements SerializerDeserializer>> { +/** + * Serialize/deserialize key-values {@link Map}s to/from urlencoded forms. + */ +public final class FormUrlEncodedSerializer implements SerializerDeserializer>> { private static final Map CONTINUATIONS_SEPARATORS; private static final Map KEYVALUE_SEPARATORS; static { @@ -62,7 +65,7 @@ final class FormUrlEncodedSerializer implements SerializerDeserializer>> formUrlEncodedSerializer(final Charset charset) { + return new FormUrlEncodedSerializer(charset); + } + @Override public Map> deserialize(final Buffer serializedData, final BufferAllocator allocator) { return deserialize(serializedData, charset); diff --git a/servicetalk-http-api/src/main/java/io/servicetalk/http/api/HttpSerializers.java b/servicetalk-http-api/src/main/java/io/servicetalk/http/api/HttpSerializers.java index 916553f54a..f2e0c2f855 100644 --- a/servicetalk-http-api/src/main/java/io/servicetalk/http/api/HttpSerializers.java +++ b/servicetalk-http-api/src/main/java/io/servicetalk/http/api/HttpSerializers.java @@ -62,7 +62,7 @@ public final class HttpSerializers { newAsciiString(APPLICATION_TEXT_VARINT + "; charset=US-ASCII"); private static final HttpSerializerDeserializer>> FORM_ENCODED_UTF_8 = - new DefaultHttpSerializerDeserializer<>(new FormUrlEncodedSerializer(UTF_8), + new DefaultHttpSerializerDeserializer<>(FormUrlEncodedSerializer.formUrlEncodedSerializer(UTF_8), headers -> headers.set(CONTENT_TYPE, APPLICATION_X_WWW_FORM_URLENCODED_UTF_8) .set(ACCEPT, APPLICATION_X_WWW_FORM_URLENCODED), headers -> hasContentType(headers, APPLICATION_X_WWW_FORM_URLENCODED, UTF_8)); @@ -130,7 +130,7 @@ public static HttpSerializerDeserializer>> formUrlEncod } final CharSequence contentType = newAsciiString(APPLICATION_X_WWW_FORM_URLENCODED + "; charset=" + charset.name()); - return new DefaultHttpSerializerDeserializer<>(new FormUrlEncodedSerializer(charset), + return new DefaultHttpSerializerDeserializer<>(FormUrlEncodedSerializer.formUrlEncodedSerializer(charset), headers -> headers.set(CONTENT_TYPE, contentType) .set(ACCEPT, APPLICATION_X_WWW_FORM_URLENCODED), headers -> hasContentType(headers, APPLICATION_X_WWW_FORM_URLENCODED, charset));