src/main/java/js/http/encoder/ServerEncoders.java
@Override
	public ArgumentsReader getArgumentsReader(HttpServletRequest httpRequest, Type[] formalParameters) {
		if (formalParameters.length == 0) {
			return EmptyArgumentsReader.getInstance();
		}
		if (httpRequest.getQueryString() != null) {
			return readers.get(null);
		}

		return getArgumentsReader(httpRequest.getContentType(), formalParameters[0]);
	}
@Override
	public ArgumentsReader getArgumentsReader(HttpServletRequest httpRequest, Type[] formalParameters) {
		if (formalParameters.length == 0) {
			return EmptyArgumentsReader.getInstance();
		}
		if (httpRequest.getQueryString() != null) {
			return readers.get(null);
		}

		return getArgumentsReader(httpRequest.getContentType(), formalParameters[0]);
	}
Get arguments reader able to process arguments from HTTP request accordingly expected argument types. If HTTP request has
no content type returns {@link EncoderKey#APPLICATION_JSON} reader, that is, tiny container default content type is JSON.
This departs from HTTP standard that mandates using bytes stream when no content type is provided on request.
<p>
If formal parameters are empty returns {@link EmptyArgumentsReader}. If formal parameters are provided attempts to
retrieve a reader for expected argument types. If none found try using content type solely.

@param httpRequest HTTP request carrying arguments to read,
@param formalParameters expected argument types, possible empty.
@return arguments reader, never null.
@throws IllegalArgumentException if no reader found for requested HTTP request and expected argument types.