Skip to content

Commit e423879

Browse files
committed
Change tundra.tn.exception:handle to include HTTP request context
including the headers in the Trading Networks activity log
1 parent 592fded commit e423879

File tree

6 files changed

+52
-31
lines changed

6 files changed

+52
-31
lines changed
75 Bytes
Binary file not shown.

code/jars/Tundra.jar

1.87 KB
Binary file not shown.

code/jars/TundraTN.jar

0 Bytes
Binary file not shown.

code/source/tundra/tn/exception.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package tundra.tn;
22

33
// -----( IS Java Code Template v1.2
4-
// -----( CREATED: 2020-06-29T05:40:48.930
4+
// -----( CREATED: 2020-06-30T05:38:41.034
55
// -----( ON-HOST: -
66

77
import com.wm.data.*;
@@ -21,6 +21,7 @@
2121
import permafrost.tundra.content.ContentAttached;
2222
import permafrost.tundra.data.IDataHelper;
2323
import permafrost.tundra.data.IDataMap;
24+
import permafrost.tundra.data.IDataYAMLParser;
2425
import permafrost.tundra.id.ULID;
2526
import permafrost.tundra.lang.BaseException;
2627
import permafrost.tundra.lang.BooleanHelper;
@@ -92,9 +93,12 @@ public static final void handle (IData pipeline)
9293
IDataMap exceptionContent = IDataMap.of((IData)exceptionDocument.get("$exception.content"));
9394

9495
if (exceptionContent.size() > 0) {
96+
StringBuilder builder = new StringBuilder();
97+
if (messageDetail != null) builder.append(messageDetail.trim());
9598
try {
9699
byte[] content = (byte[])exceptionContent.get("$content");
97100
String contentType = (String)exceptionContent.get("$content.type");
101+
IData context = (IData)exceptionContent.get("$content.context");
98102

99103
if (content != null && content.length > 0) {
100104
String extension = "";
@@ -113,10 +117,18 @@ public static final void handle (IData pipeline)
113117

114118
Service.doInvoke(NSName.create("tundra.tn.document.content:add"), scope);
115119

116-
messageDetail = messageDetail + "\nRefer to content part: " + partName + " (" + content.length + " byte" + (content.length == 1 ? "" : "s") + ")";
120+
builder.append("\n---\nRefer to content part: ").append(partName);
121+
}
122+
123+
if (context != null) {
124+
IDataYAMLParser parser = new IDataYAMLParser();
125+
String contextString = parser.emit(context, String.class);
126+
builder.append("\n---\n").append(contextString);
117127
}
118128
} catch(Exception ex) {
119129
// suppress/ignore exceptions adding content part
130+
} finally {
131+
messageDetail = builder.toString();
120132
}
121133
}
122134
}

ns/tundra/tn/exception/handle/java.frag

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -29,33 +29,41 @@ bGU/IiksIHRydWUpKSB7CiAgICAgICAgICAgIG1lc3NhZ2VDbGFzcyA9ICJVbnJlY292ZXJhYmxl
2929
IjsKICAgICAgICAgICAgdXNlclN0YXR1cyA9ICJBQk9SVEVEIjsKICAgICAgICB9CgogICAgICAg
3030
IElEYXRhTWFwIGV4Y2VwdGlvbkNvbnRlbnQgPSBJRGF0YU1hcC5vZigoSURhdGEpZXhjZXB0aW9u
3131
RG9jdW1lbnQuZ2V0KCIkZXhjZXB0aW9uLmNvbnRlbnQiKSk7CgogICAgICAgIGlmIChleGNlcHRp
32-
b25Db250ZW50LnNpemUoKSA+IDApIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAg
33-
IGJ5dGVbXSBjb250ZW50ID0gKGJ5dGVbXSlleGNlcHRpb25Db250ZW50LmdldCgiJGNvbnRlbnQi
34-
KTsKICAgICAgICAgICAgICAgIFN0cmluZyBjb250ZW50VHlwZSA9IChTdHJpbmcpZXhjZXB0aW9u
35-
Q29udGVudC5nZXQoIiRjb250ZW50LnR5cGUiKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAg
36-
ICAgICAgaWYgKGNvbnRlbnQgIT0gbnVsbCAmJiBjb250ZW50Lmxlbmd0aCA+IDApIHsKICAgICAg
37-
ICAgICAgICAgICAgICBTdHJpbmcgZXh0ZW5zaW9uID0gIiI7CiAgICAgICAgICAgICAgICAgICAg
38-
aWYgKGNvbnRlbnRUeXBlICE9IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5z
39-
aW9uID0gIi4iICsgTUlNRVR5cGVIZWxwZXIuZ2V0RmlsZUV4dGVuc2lvbihjb250ZW50VHlwZSk7
40-
CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdHJpbmcgcGFydE5h
41-
bWUgPSBzZXJ2aWNlLnJlcGxhY2VBbGwoIlxcVyIsICJfIikgKyAiX2V4Y2VwdGlvbl8iICsgRGF0
42-
ZVRpbWVIZWxwZXIubm93KCJ5eXl5TU1kZEhIbW1zc1NTU1oiKSArIGV4dGVuc2lvbjsKCiAgICAg
43-
ICAgICAgICAgICAgICAgSURhdGFNYXAgc2NvcGUgPSBuZXcgSURhdGFNYXAoKTsKICAgICAgICAg
44-
ICAgICAgICAgICBzY29wZS5wdXQoIiRiaXpkb2MiLCBiaXpkb2MpOwogICAgICAgICAgICAgICAg
45-
ICAgIHNjb3BlLnB1dCgiJGNvbnRlbnQiLCBjb250ZW50KTsKICAgICAgICAgICAgICAgICAgICBz
46-
Y29wZS5wdXQoIiRjb250ZW50LnBhcnQiLCBwYXJ0TmFtZSk7CiAgICAgICAgICAgICAgICAgICAg
47-
c2NvcGUucHV0KCIkY29udGVudC50eXBlIiwgY29udGVudFR5cGUpOwogICAgICAgICAgICAgICAg
48-
ICAgIHNjb3BlLnB1dCgiJG92ZXJ3cml0ZT8iLCAidHJ1ZSIpOwoKICAgICAgICAgICAgICAgICAg
49-
ICBTZXJ2aWNlLmRvSW52b2tlKE5TTmFtZS5jcmVhdGUoInR1bmRyYS50bi5kb2N1bWVudC5jb250
50-
ZW50OmFkZCIpLCBzY29wZSk7CgogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VEZXRhaWwgPSBt
51-
ZXNzYWdlRGV0YWlsICsgIlxuUmVmZXIgdG8gY29udGVudCBwYXJ0OiAiICsgcGFydE5hbWUgKyAi
52-
ICgiICsgY29udGVudC5sZW5ndGggKyAiIGJ5dGUiICsgKGNvbnRlbnQubGVuZ3RoID09IDEgPyAi
53-
IiA6ICJzIikgKyAiKSI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gY2F0Y2goRXhj
54-
ZXB0aW9uIGV4KSB7CiAgICAgICAgICAgICAgICAvLyBzdXBwcmVzcy9pZ25vcmUgZXhjZXB0aW9u
55-
cyBhZGRpbmcgY29udGVudCBwYXJ0CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAg
56-
QWN0aXZpdHlMb2dIZWxwZXIubG9nKEVudHJ5VHlwZS5FUlJPUiwgbWVzc2FnZUNsYXNzLCBtZXNz
57-
YWdlU3VtbWFyeSwgbWVzc2FnZURldGFpbCwgYml6ZG9jKTsKICAgIEJpekRvY0VudmVsb3BlSGVs
58-
cGVyLnNldFN0YXR1cyhiaXpkb2MsIG51bGwsIHVzZXJTdGF0dXMsIHN0YXR1c1NpbGVuY2UpOwoK
59-
ICAgIEV4Y2VwdGlvbkhlbHBlci5yYWlzZShleGNlcHRpb24pOwp9IGZpbmFsbHkgewogICAgY3Vy
60-
c29yLmRlc3Ryb3koKTsKfQ==</value>
32+
b25Db250ZW50LnNpemUoKSA+IDApIHsKICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVy
33+
ID0gbmV3IFN0cmluZ0J1aWxkZXIoKTsKICAgICAgICAgICAgaWYgKG1lc3NhZ2VEZXRhaWwgIT0g
34+
bnVsbCkgYnVpbGRlci5hcHBlbmQobWVzc2FnZURldGFpbC50cmltKCkpOwogICAgICAgICAgICB0
35+
cnkgewogICAgICAgICAgICAgICAgYnl0ZVtdIGNvbnRlbnQgPSAoYnl0ZVtdKWV4Y2VwdGlvbkNv
36+
bnRlbnQuZ2V0KCIkY29udGVudCIpOwogICAgICAgICAgICAgICAgU3RyaW5nIGNvbnRlbnRUeXBl
37+
ID0gKFN0cmluZylleGNlcHRpb25Db250ZW50LmdldCgiJGNvbnRlbnQudHlwZSIpOwogICAgICAg
38+
ICAgICAgICAgSURhdGEgY29udGV4dCA9IChJRGF0YSlleGNlcHRpb25Db250ZW50LmdldCgiJGNv
39+
bnRlbnQuY29udGV4dCIpOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZiAoY29u
40+
dGVudCAhPSBudWxsICYmIGNvbnRlbnQubGVuZ3RoID4gMCkgewogICAgICAgICAgICAgICAgICAg
41+
IFN0cmluZyBleHRlbnNpb24gPSAiIjsKICAgICAgICAgICAgICAgICAgICBpZiAoY29udGVudFR5
42+
cGUgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgICAgICBleHRlbnNpb24gPSAiLiIgKyBN
43+
SU1FVHlwZUhlbHBlci5nZXRGaWxlRXh0ZW5zaW9uKGNvbnRlbnRUeXBlKTsKICAgICAgICAgICAg
44+
ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0cmluZyBwYXJ0TmFtZSA9IHNlcnZpY2Uu
45+
cmVwbGFjZUFsbCgiXFxXIiwgIl8iKSArICJfZXhjZXB0aW9uXyIgKyBEYXRlVGltZUhlbHBlci5u
46+
b3coInl5eXlNTWRkSEhtbXNzU1NTWiIpICsgZXh0ZW5zaW9uOwoKICAgICAgICAgICAgICAgICAg
47+
ICBJRGF0YU1hcCBzY29wZSA9IG5ldyBJRGF0YU1hcCgpOwogICAgICAgICAgICAgICAgICAgIHNj
48+
b3BlLnB1dCgiJGJpemRvYyIsIGJpemRvYyk7CiAgICAgICAgICAgICAgICAgICAgc2NvcGUucHV0
49+
KCIkY29udGVudCIsIGNvbnRlbnQpOwogICAgICAgICAgICAgICAgICAgIHNjb3BlLnB1dCgiJGNv
50+
bnRlbnQucGFydCIsIHBhcnROYW1lKTsKICAgICAgICAgICAgICAgICAgICBzY29wZS5wdXQoIiRj
51+
b250ZW50LnR5cGUiLCBjb250ZW50VHlwZSk7CiAgICAgICAgICAgICAgICAgICAgc2NvcGUucHV0
52+
KCIkb3ZlcndyaXRlPyIsICJ0cnVlIik7CgogICAgICAgICAgICAgICAgICAgIFNlcnZpY2UuZG9J
53+
bnZva2UoTlNOYW1lLmNyZWF0ZSgidHVuZHJhLnRuLmRvY3VtZW50LmNvbnRlbnQ6YWRkIiksIHNj
54+
b3BlKTsKCiAgICAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIlxuLS0tXG5SZWZlciB0
55+
byBjb250ZW50IHBhcnQ6ICIpLmFwcGVuZChwYXJ0TmFtZSk7CiAgICAgICAgICAgICAgICB9Cgog
56+
ICAgICAgICAgICAgICAgaWYgKGNvbnRleHQgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAg
57+
IElEYXRhWUFNTFBhcnNlciBwYXJzZXIgPSBuZXcgSURhdGFZQU1MUGFyc2VyKCk7CiAgICAgICAg
58+
ICAgICAgICAgICAgU3RyaW5nIGNvbnRleHRTdHJpbmcgPSBwYXJzZXIuZW1pdChjb250ZXh0LCBT
59+
dHJpbmcuY2xhc3MpOwogICAgICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJcbi0tLVxu
60+
IikuYXBwZW5kKGNvbnRleHRTdHJpbmcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9
61+
IGNhdGNoKEV4Y2VwdGlvbiBleCkgewogICAgICAgICAgICAgICAgLy8gc3VwcHJlc3MvaWdub3Jl
62+
IGV4Y2VwdGlvbnMgYWRkaW5nIGNvbnRlbnQgcGFydAogICAgICAgICAgICB9IGZpbmFsbHkgewog
63+
ICAgICAgICAgICAgICAgbWVzc2FnZURldGFpbCA9IGJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICAg
64+
ICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBBY3Rpdml0eUxvZ0hlbHBlci5sb2coRW50cnlU
65+
eXBlLkVSUk9SLCBtZXNzYWdlQ2xhc3MsIG1lc3NhZ2VTdW1tYXJ5LCBtZXNzYWdlRGV0YWlsLCBi
66+
aXpkb2MpOwogICAgQml6RG9jRW52ZWxvcGVIZWxwZXIuc2V0U3RhdHVzKGJpemRvYywgbnVsbCwg
67+
dXNlclN0YXR1cywgc3RhdHVzU2lsZW5jZSk7CgogICAgRXhjZXB0aW9uSGVscGVyLnJhaXNlKGV4
68+
Y2VwdGlvbik7Cn0gZmluYWxseSB7CiAgICBjdXJzb3IuZGVzdHJveSgpOwp9</value>
6169
</Values>

ns/tundra/tn/exception/node.idf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ eCA9IG5ldyBCYXNlRXhjZXB0aW9uKG1lc3NhZ2UpOwogICAgfQoKICAgIHRocm93IGV4Owp9</value>
3737
<value>permafrost.tundra.content.ContentAttached</value>
3838
<value>permafrost.tundra.data.IDataHelper</value>
3939
<value>permafrost.tundra.data.IDataMap</value>
40+
<value>permafrost.tundra.data.IDataYAMLParser</value>
4041
<value>permafrost.tundra.id.ULID</value>
4142
<value>permafrost.tundra.lang.BaseException</value>
4243
<value>permafrost.tundra.lang.BooleanHelper</value>

0 commit comments

Comments
 (0)