@@ -71,13 +71,28 @@ function Connect-NetScaler {
71
71
$endpoint = $Hostname
72
72
}
73
73
74
- if ($PSBoundParameters .ContainsKey ( ' Https' ) ) {
75
- $Script :protocol = ' https'
74
+ if ($Https ) {
75
+ $scheme = ' https'
76
76
} else {
77
- $script :protocol = ' http'
77
+ $scheme = ' http'
78
78
}
79
79
80
- Write-Verbose - Message " Connecting to $endpoint ..."
80
+
81
+ $session = New-Object - TypeName PSObject
82
+ $session | Add-Member - NotePropertyName Endpoint - NotePropertyValue $endpoint - TypeName String
83
+ $session | Add-Member - NotePropertyName Scheme - NotePropertyValue $scheme - TypeName String
84
+ $session | Add-Member - Name Uri - MemberType ScriptProperty - Value {
85
+ " $ ( $this.scheme ) ://$ ( $this.endpoint ) /nitro/v1"
86
+ }
87
+ $session | Add-Member - Name CreateUri - MemberType ScriptMethod - Value {
88
+ Param (
89
+ [String ]$service ,
90
+ [String ]$type
91
+ )
92
+ " $ ( $this.Uri ) /$service /$type "
93
+ }
94
+
95
+ Write-Verbose - Message " Connecting to $ ( $session.Uri ) ..."
81
96
82
97
try {
83
98
$login = @ {
@@ -91,7 +106,7 @@ function Connect-NetScaler {
91
106
92
107
$saveSession = @ {}
93
108
$params = @ {
94
- Uri = " $ ( $Script :protocol ) :// $endpoint /nitro/v1 /config/login"
109
+ Uri = " $ ( $session .Uri ) /config/login"
95
110
Method = ' POST'
96
111
Body = $loginJson
97
112
SessionVariable = ' saveSession'
@@ -108,12 +123,10 @@ function Connect-NetScaler {
108
123
throw $_
109
124
}
110
125
111
- $session = New-Object - TypeName PSObject
112
- $session | Add-Member - NotePropertyName Endpoint - NotePropertyValue $endpoint - TypeName String
113
- $session | Add-Member - NotePropertyName WebSession - NotePropertyValue $saveSession - TypeName Microsoft.PowerShell.Commands.WebRequestSession
114
-
126
+ $session | Add-Member - NotePropertyName WebSession - NotePropertyValue $saveSession - TypeName Microsoft.PowerShell.Commands.WebRequestSession
115
127
$script :session = $session
116
128
129
+
117
130
if ($PSBoundParameters.ContainsKey (' PassThru' )) {
118
131
return $session
119
132
}
0 commit comments