Skip to content

Commit 0280589

Browse files
authored
Merge pull request #29 from intersystems-community/stage
Stage
2 parents 8df82b5 + 54283b5 commit 0280589

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/cls/ZPM/REST/Base.cls

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,15 @@ ClassMethod SwaggerSpec() As %Status
109109
Return ..%ProcessResult($$$OK, swagger)
110110
}
111111

112+
ClassMethod GetRemoteAddr() As %String
113+
{
114+
Set ip = $Piece(%request.GetCgiEnv("HTTP_X_FORWARDED_FOR"),",",1)
115+
If (ip'="") {
116+
Return ip
117+
} Else {
118+
Return %request.GetCgiEnv("REMOTE_ADDR")
119+
}
120+
Return ""
121+
}
122+
112123
}

src/cls/ZPM/Registry.cls

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ ClassMethod GetArchive(pkg, fileName) As %Status
182182
RETURN ..ReportHttpStatusCode(..#HTTP404NOTFOUND)
183183
}
184184

185-
Do ##class(ZPM.Analytics.Event).SaveEvent("download", %request.GetCgiEnv("REMOTE_ADDR"), {"name":(package.name),"version":(package.version)})
185+
Do ##class(ZPM.Analytics.Event).SaveEvent("download", ..GetRemoteAddr(), {"name":(package.name),"version":(package.version)})
186186
Set token = ##class(%PopulateUtils).StringMin(16,16)
187187
Set ^IRIS.TempZPMRInst(token) = $Listbuild(pkg, version)
188188
Do %response.SetHeader("INSTALLTOKEN",token)
@@ -226,7 +226,7 @@ ClassMethod CollectAnalytics(action As %String = "") As %Status
226226
Set token = %request.GetCgiEnv("HTTP_INSTALLTOKEN")
227227
If token'="", $Data(^IRIS.TempZPMRInst(token)) {
228228
Kill ^IRIS.TempZPMRInst(token)
229-
Return ##class(ZPM.Analytics.Event).SaveEvent(action, %request.GetCgiEnv("REMOTE_ADDR"), %request.Content)
229+
Return ##class(ZPM.Analytics.Event).SaveEvent(action, ..GetRemoteAddr(), %request.Content)
230230
}
231231
Return $$$ERROR(5001, "Invalid token")
232232
}

0 commit comments

Comments
 (0)