/** * Returns headers and/or body of the last request. */ private Value getReturnValue(Env env, bool isPrintData) { StringValue data; if (_responseCode == HttpURLConnection.HTTP_NOT_MODIFIED || _responseCode == HttpURLConnection.HTTP_PRECON_FAILED || (_failOnError && _responseCode >= 400)) { if (_isReturningHeader) { data = _header; } else { return(BooleanValue.TRUE); } } else { StringValue bb = env.createBinaryBuilder(); if (_isReturningHeader) { bb.append(_header); } if (_isReturningBody) { bb.append(_body); } data = bb; } if (_outputHeaderFile != null) { FileModule.fwrite(env, _outputHeaderFile, _header.toInputStream(), Integer.MAX_VALUE); } if (_outputFile != null) { FileModule.fwrite(env, _outputFile, data.toInputStream(), Integer.MAX_VALUE); } if (_isReturningData) { _returnTransfer = data; return(data); } else { if (isPrintData) { env.print(data); } return(BooleanValue.TRUE); } }