+ } else if (!p.skipSending && p.multipartFormData) {
+
+ WebTarget wt = client.register(MultiPartFeature.class).target(p.restapiUrl);
+
+ MultiPart multiPart = new MultiPart();
+ multiPart.setMediaType(MediaType.MULTIPART_FORM_DATA_TYPE);
+
+ FileDataBodyPart fileDataBodyPart = new FileDataBodyPart("file",
+ new File(p.multipartFile),
+ MediaType.APPLICATION_OCTET_STREAM_TYPE);
+ multiPart.bodyPart(fileDataBodyPart);
+
+
+ Invocation.Builder invocationBuilder = wt.request(contentType).accept(accept);
+
+ if (p.format == Format.NONE) {
+ invocationBuilder.header("", "");
+ }
+
+ if (p.customHttpHeaders != null && p.customHttpHeaders.length() > 0) {
+ String[] keyValuePairs = p.customHttpHeaders.split(",");
+ for (String singlePair : keyValuePairs) {
+ int equalPosition = singlePair.indexOf('=');
+ invocationBuilder.header(singlePair.substring(0, equalPosition),
+ singlePair.substring(equalPosition + 1, singlePair.length()));
+ }
+ }
+
+ invocationBuilder.header("X-ECOMP-RequestID", org.slf4j.MDC.get("X-ECOMP-RequestID"));
+
+ Response response;
+
+ try {
+ response = invocationBuilder.method(p.httpMethod.toString(), entity(multiPart, multiPart.getMediaType()));
+ } catch (ProcessingException | IllegalStateException e) {
+ throw new SvcLogicException(requestPostingException +
+ e.getLocalizedMessage(), e);
+ }
+
+ r.code = response.getStatus();
+ r.headers = response.getStringHeaders();
+ EntityTag etag = response.getEntityTag();
+ if (etag != null) {
+ r.message = etag.getValue();
+ }
+ if (response.hasEntity() && r.code != 204) {
+ r.body = response.readEntity(String.class);
+ }
+