httpsnippet
Version:
HTTP Request snippet generator for *most* languages
54 lines (53 loc) • 2.21 kB
JavaScript
/**
* @description
* HTTP code snippet generator for Java using java.net.http.
*
* @author
* @wtetsu
*
* for any questions or issues regarding the generated code snippet, please open an issue mentioning the author.
*/
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
exports.__esModule = true;
exports.nethttp = void 0;
var code_builder_1 = require("../../../helpers/code-builder");
var escape_1 = require("../../../helpers/escape");
exports.nethttp = {
info: {
key: 'nethttp',
title: 'java.net.http',
link: 'https://openjdk.java.net/groups/net/httpclient/intro.html',
description: 'Java Standardized HTTP Client API'
},
convert: function (_a, options) {
var allHeaders = _a.allHeaders, fullUrl = _a.fullUrl, method = _a.method, postData = _a.postData;
var opts = __assign({ indent: ' ' }, options);
var _b = new code_builder_1.CodeBuilder({ indent: opts.indent }), push = _b.push, join = _b.join;
push('HttpRequest request = HttpRequest.newBuilder()');
push(".uri(URI.create(\"".concat(fullUrl, "\"))"), 2);
Object.keys(allHeaders).forEach(function (key) {
push(".header(\"".concat(key, "\", \"").concat((0, escape_1.escapeForDoubleQuotes)(allHeaders[key]), "\")"), 2);
});
if (postData.text) {
push(".method(\"".concat(method.toUpperCase(), "\", HttpRequest.BodyPublishers.ofString(").concat(JSON.stringify(postData.text), "))"), 2);
}
else {
push(".method(\"".concat(method.toUpperCase(), "\", HttpRequest.BodyPublishers.noBody())"), 2);
}
push('.build();', 2);
push('HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());');
push('System.out.println(response.body());');
return join();
}
};
;