@@ -1346,13 +1346,15 @@ Holds a positive integer value that specifies the maximum depth the marshalling
13461346<Description >
13471347A string that represents the path from concatenated property names, used to filter which properties to include.</Description >
13481348<Type >%String</Type >
1349+ <InitialExpression ><![CDATA[ "<root>"]]> </InitialExpression >
13491350<Private >1</Private >
13501351</Property >
13511352
13521353<Method name =" %OnNew" >
13531354<FormalSpec >maxDepth:%Integer=7</FormalSpec >
13541355<ReturnType >%Status</ReturnType >
13551356<Implementation ><![CDATA[
1357+ if maxDepth <= 0 set maxDepth = 1
13561358 set ..MaxDepth = maxDepth
13571359 return $$$OK
13581360]]> </Implementation >
@@ -1395,14 +1397,14 @@ This method uses the configuration provided from %New which includes an optional
13951397 set type = $classname(object)
13961398 if ##class(Frontier.Types).IsCollection(type) set sc = ..MakeDynamicCollection(object, .dynamicObject)
13971399 if ##class(Frontier.Types).IsDynamic(type) set sc = ..Traverse(object, .dynamicObject)
1398- if ##class(Frontier.Types).IsPersistent(type) set sc = ..MakeDynamicObject(object, .dynamicObject)
1400+ if ##class(Frontier.Types).IsPersistent(type) || ##class(Frontier.Types).IsSerial(type) set sc = ..MakeDynamicObject(object, .dynamicObject)
13991401
14001402 set parentSc = $$$ERROR($$$GeneralError, $$$FormatText("Failed to marshal instance of '%1'. Path: %2", $classname(object), ..Path))
14011403
14021404 if $$$ISERR(sc) {
1403- set sc = $$$EMBEDSC(parentSc, sc)
1405+ set sc = $$$EMBEDSC(parentSc, sc)
14041406 } elseif '$isobject(dynamicObject) {
1405- set sc = $$$EMBEDSC(parentSc, $$$ERROR($$$GeneralError, "Object to unmarshall is not dynamic, neither a collection nor persistable."))
1407+ set sc = $$$EMBEDSC(parentSc, $$$ERROR($$$GeneralError, "Object to unmarshal is not dynamic, neither a collection nor persistable."))
14061408 }
14071409
14081410 return sc
@@ -3678,7 +3680,8 @@ BuildFilter(filter, templateMsg, normalizedFilter)
36783680 set io = $io
36793681 merge methodArguments = ..Arguments
36803682 set returnType = ..MethodDescriptor.ReturnType
3681-
3683+
3684+ open $$$NULL
36823685 use $$$NULL
36833686
36843687 new $estack
@@ -3693,8 +3696,9 @@ BuildFilter(filter, templateMsg, normalizedFilter)
36933696 do ##class(Frontier.Exception).CaptureStack(.stack)
36943697 set sc = ex.AsStatus()
36953698 }
3696-
3699+
36973700 use io
3701+ close $$$NULL
36983702 return sc
36993703]]> </Implementation >
37003704</Method >
@@ -3996,11 +4000,12 @@ do %frontier.Reporter.Manager.AddReporter(discordReporter)</Description>
39964000 set http = ##class(%Net.HttpRequest).%New()
39974001 set http.Server = "discordapp.com"
39984002 set http.SSLConfiguration = "Discord Webhook SSL"
3999- set http.Https = 1
4000-
4003+ set http.Https = 1
4004+
40014005 set payload = ##class(Frontier.Exception).ToDynamicObject(context.Exception)
40024006 $$$QuitOnError(##class(Frontier.Dynamic.Serializer).SerializeToStream(.str, payload, 0, context.PropertyFormatter, context.Parameters.MAXIMUMDEPTH, 2))
40034007 set message = str.Read()
4008+
40044009 do http.InsertFormData("content", $$$FormatText("Error report received from *%1:*%7%7**Message:** %7```json%7%2%7```%7**Path:** %3.%7**Http Method:** %4.%7**Dispatch Method:** %5.%7**Arguments:** %6%7**Class:** %8%7%7", ..Name, message, context.RequestURL, context.Request.Method, context.Method, $$SerializeArguments(), $c(10), context.ClassName))
40054010 do http.Post($$$FormatText("api/webhooks/%1/%2", ..WebhookId, ..Token))
40064011
@@ -4287,10 +4292,9 @@ Iterates over the queue calling the Report method for each. Each call is impleme
42874292<Internal >1</Internal >
42884293<ReturnType >%Status</ReturnType >
42894294<Implementation ><![CDATA[
4290- set sc = $$$OK
4295+ set sc = $$$OK
42914296
42924297 if '$isobject(..Context.Exception) return $$$OK
4293- if ..Context.AuthenticationManager.IsChallengeSet return $$$OK
42944298 if ..Reported return $$$OK
42954299
42964300 #dim reporter As Frontier.Reporter
@@ -6051,7 +6055,6 @@ rchr(time) Quit ""
60516055<Method name =" CreateSSLConfigurationIfNoneExists" >
60526056<ClassMethod >1</ClassMethod >
60536057<FormalSpec >name:%String</FormalSpec >
6054- <Private >1</Private >
60556058<Implementation ><![CDATA[
60566059 new $namespace
60576060 set $namespace = "%SYS"
@@ -6317,7 +6320,7 @@ rchr(time) Quit ""
63176320</Property >
63186321<Property name =" Plate" >
63196322<Selectivity >10.0000%</Selectivity >
6320- <AverageFieldSize >4.9 </AverageFieldSize >
6323+ <AverageFieldSize >4.7 </AverageFieldSize >
63216324</Property >
63226325<SQLMap name =" IDKEY" >
63236326<BlockCount >-4</BlockCount >
@@ -6432,7 +6435,7 @@ rchr(time) Quit ""
64326435</Property >
64336436<Property name =" Adress" >
64346437<Selectivity >10.0000%</Selectivity >
6435- <AverageFieldSize >17.8 </AverageFieldSize >
6438+ <AverageFieldSize >17.4 </AverageFieldSize >
64366439</Property >
64376440<Property name =" BirthDate" >
64386441<Selectivity >10.0000%</Selectivity >
@@ -6452,11 +6455,11 @@ rchr(time) Quit ""
64526455</Property >
64536456<Property name =" Name" >
64546457<Selectivity >10.0000%</Selectivity >
6455- <AverageFieldSize >15 </AverageFieldSize >
6458+ <AverageFieldSize >16.6 </AverageFieldSize >
64566459</Property >
64576460<Property name =" PeriodEnd" >
64586461<Selectivity >10.0000%</Selectivity >
6459- <AverageFieldSize >4.7 </AverageFieldSize >
6462+ <AverageFieldSize >4.8 </AverageFieldSize >
64606463</Property >
64616464<Property name =" PeriodStart" >
64626465<Selectivity >10.0000%</Selectivity >
@@ -6602,9 +6605,7 @@ curl -H "Content-Type: application/json" 'localhost:57772/api/frontier/test/rout
66026605<ClassMethod >1</ClassMethod >
66036606<FormalSpec >class:Frontier.UnitTest.Fixtures.Class</FormalSpec >
66046607<ReturnType >%Status</ReturnType >
6605- <Implementation ><![CDATA[
6606-
6607- return class
6608+ <Implementation ><![CDATA[ return class
66086609]]> </Implementation >
66096610</Method >
66106611
@@ -8377,7 +8378,7 @@ The purpose is to show that custom authentication strategies can be used exclusi
83778378]]> </Routine >
83788379
83798380
8380- <Project name =" frontier" LastModified =" 2019-09-20 14:25:33.818912 " TargetType =" 2" HttpServer =" http://localhost:57772" >
8381+ <Project name =" frontier" LastModified =" 2019-10-22 09:21:51.437397 " TargetType =" 2" HttpServer =" http://localhost:57772" >
83818382 <Items >
83828383 <ProjectItem name =" Frontier.AbstractSerializer" type =" CLS" ></ProjectItem >
83838384 <ProjectItem name =" Frontier.ArgumentDescription" type =" CLS" ></ProjectItem >
@@ -8433,8 +8434,5 @@ The purpose is to show that custom authentication strategies can be used exclusi
84338434 <ProjectItem name =" UnitTest.Frontier.Types" type =" CLS" ></ProjectItem >
84348435 <ProjectItem name =" frontier.INC" type =" MAC" ></ProjectItem >
84358436 </Items >
8436- <WatchVariables >
8437- <WatchVariable Variable =" visitedCache(value)" Pane =" 1" ></WatchVariable >
8438- </WatchVariables >
84398437</Project >
84408438</Export >
0 commit comments