コード例 #1
0
  @Override
  public Object fromBody(TypedInput body, Type type) throws ConversionException {
    String charset = "UTF-8";

    if (body.mimeType() != null) {
      charset = MimeUtil.parseCharset(body.mimeType());
    }

    if (body.mimeType().equals("text/plain; charset=utf-8")) {
      BufferedReader reader = null;
      StringBuilder sb = new StringBuilder();

      try {
        reader = new BufferedReader(new InputStreamReader(body.in()));

        String line;
        while ((line = reader.readLine()) != null) {
          sb.append(line);
        }
      } catch (IOException e) {
        Timber.e(e, "Exception while reading XML");
      } finally {
        CloseableUtils.closeQuietly(reader);
      }

      return sb.toString();
    }

    InputStreamReader isr = null;
    try {
      isr = new InputStreamReader(body.in(), charset);
      return serializer.read((Class<?>) type, isr);
    } catch (Exception e) {
      throw new ConversionException(e);
    } finally {
      CloseableUtils.closeQuietly(isr);
    }
  }