code: protected Request.Builder setBody(Request.Builder builder) {
          // NOTE: default Builder is GET
          if (body != null) {
              byte[] bodyBytes = null;
              try {
                  bodyBytes = Manager.getObjectMapper().writeValueAsBytes(body);
              } catch (Exception e) {
                  Log.e(TAG, "Error serializing body of request", e);
              }
              RequestBody requestBody = null;
              if (isCompressedRequest()) {
                  requestBody = setCompressedBody(bodyBytes);
                  if (requestBody != null)
                      builder.addHeader("Content-Encoding", "gzip");
              }
              if (requestBody == null)
                  requestBody = RequestBody.create(JSON, bodyBytes);
              if ("PUT".equalsIgnoreCase(method))
                  builder.put(requestBody);
              else if ("POST".equalsIgnoreCase(method))
                  builder.post(requestBody);
          }
          // body is null -> create db (PUT /{db})
          // http://docs.couchdb.org/en/2.0.0/api/database/common.html#put--db
          else if ("PUT".equalsIgnoreCase(method) || "POST".equalsIgnoreCase(method)) {
              // create empty json
              RequestBody requestBody = RequestBody.create(JSON, "");
              if ("PUT".equalsIgnoreCase(method))
                  builder.put(requestBody);
              else if ("POST".equalsIgnoreCase(method))
                  builder.post(requestBody);
          }
          return builder;
      }
docs: set request body