private void processResponse(RubyValue res) { if (res != null && res != RubyConstant.QNIL && res instanceof RubyHash) { RubyHash resHash = (RubyHash) res; RubyValue resBody = null; RubyArray arKeys = resHash.keys(); RubyArray arValues = resHash.values(); for (int i = 0; i < arKeys.size(); i++) { String strKey = arKeys.get(i).toString(); if (strKey.equals("request-body")) resBody = arValues.get(i); else if (strKey.equals("status")) responseCode = arValues.get(i).toInt(); else if (strKey.equals("message")) responseMsg = arValues.get(i).toString(); else resHeaders.addProperty(strKey, arValues.get(i).toString()); } String strBody = ""; if (resBody != null && resBody != RubyConstant.QNIL) strBody = resBody.toRubyString().toString(); if (!RHOCONF().getBool("log_skip_post")) LOG.TRACE(strBody); try { responseData = new ByteArrayInputStream(strBody.getBytes("UTF-8")); } catch (java.io.UnsupportedEncodingException exc) { LOG.ERROR("Error getting utf-8 body :", exc); } if (responseData != null) contentLength = Integer.parseInt(resHeaders.getPropertyIgnoreCase("Content-Length")); } }
private void processResponse(RubyValue res) { if (res != null && res != RubyConstant.QNIL && res instanceof RubyHash) { RubyHash resHash = (RubyHash) res; RubyValue resBody = null; RubyArray arKeys = resHash.keys(); RubyArray arValues = resHash.values(); for (int i = 0; i < arKeys.size(); i++) { String strKey = arKeys.get(i).toString(); if (strKey.equals("request-body")) resBody = arValues.get(i); else if (strKey.equals("status")) responseCode = arValues.get(i).toInt(); else if (strKey.equals("message")) responseMsg = arValues.get(i).toString(); else resHeaders.addProperty(strKey, arValues.get(i).toString()); } String strBody = ""; if (resBody != null && resBody != RubyConstant.QNIL) strBody = resBody.toRubyString().toString(); log(strBody); responseData = new ByteArrayInputStream(strBody.getBytes()); if (responseData != null) contentLength = Integer.parseInt(resHeaders.getPropertyIgnoreCase("Content-Length")); } }
@RubyLevelMethod(name = "p", module = true) public static RubyValue p(RubyValue receiver, RubyValue arg) { RubyValue str = RubyAPI.callNoArgMethod(arg, null, RubyID.inspectID); RubyString value = str.toRubyString(); value.appendString("\n"); System.out.print(value.toString()); return RubyConstant.QNIL; }
// @RubyLevelMethod(name="concat", alias="<<") public RubyString concat(RubyValue v) { if (v instanceof RubyFixnum) { int i = v.toInt(); if (i >= 0 && i <= 0xff) { this.sb_.append((char) i); return this; } } this.sb_.append(v.toRubyString().sb_); return this; }
// @RubyLevelMethod(name="+") public RubyString plus(RubyValue v) { StringBuffer sb = new StringBuffer(); sb.append(this.sb_); sb.append(v.toRubyString().sb_); return ObjectFactory.createString(sb); }