Skip to content

Commit 5b22b13

Browse files
Eigil Rosager Poulsenr-brown
Eigil Rosager Poulsen
authored andcommitted
Added a timeoutInSeconds parameter to the public method 'validate'. This is an implementation of feature request #40.
1 parent da0b48c commit 5b22b13

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

NetLicensingClient/LicenseeService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public static ValidationResult validate(Context context, String number, String p
9999
/// In the case of multiple product modules validation, required parameters indexes will be added automatically.
100100
/// See NetLicensingAPI for details: https://netlicensing.io/wiki/licensee-services#validate-licensee
101101
/// </summary>
102-
public static ValidationResult validate(Context context, String number, ValidationParameters validationParameters)
102+
public static ValidationResult validate(Context context, String number, ValidationParameters validationParameters, int timeoutInSeconds = 100)
103103
{
104104
Dictionary<String, String> parameters = new Dictionary<String, String> ();
105105
if (!String.IsNullOrEmpty(validationParameters.getProductNumber()))
@@ -128,7 +128,7 @@ public static ValidationResult validate(Context context, String number, Validati
128128
pmIndex++;
129129
}
130130

131-
netlicensing output = NetLicensingAPI.request(context, NetLicensingAPI.Method.POST, Constants.Licensee.ENDPOINT_PATH + "/" + number + "/" + Constants.Licensee.ENDPOINT_PATH_VALIDATE, parameters);
131+
netlicensing output = NetLicensingAPI.request(context, NetLicensingAPI.Method.POST, Constants.Licensee.ENDPOINT_PATH + "/" + number + "/" + Constants.Licensee.ENDPOINT_PATH_VALIDATE, parameters, timeoutInSeconds);
132132
return new ValidationResult (output);
133133
}
134134

NetLicensingClient/NetLicensingClient.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<ReleaseVersion>2.x</ReleaseVersion>
77
<PackOnBuild>true</PackOnBuild>
88
<PackageId>NetLicensingClient-csharp</PackageId>
9-
<PackageVersion>2.4.6</PackageVersion>
9+
<PackageVersion>2.5.0</PackageVersion>
1010
<Authors>Labs64 NetLicensing</Authors>
1111
<Copyright>© 2010 Labs64 GmbH</Copyright>
1212
<PackageIconUrl>https://netlicensing.io/img/labs64-avatar-200x200.png</PackageIconUrl>

NetLicensingClient/RestController/NetLicensingAPI.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,11 @@ class NetLicensingAPI
2020
{
2121
public enum Method { GET, POST, DELETE };
2222

23-
public static netlicensing request(Context context, Method method, String path, Dictionary<String, String> parameters)
23+
public static netlicensing request(Context context, Method method, String path, Dictionary<String, String> parameters, int timeoutInSeconds = 100)
2424
{
25+
if (timeoutInSeconds <= 0 || timeoutInSeconds > 300)
26+
throw new NetLicensingException($"Illegal timeout value: {timeoutInSeconds}");
27+
2528
#region HTTP request preparation
2629
// Workaround of the mod_proxy_ajp problem.
2730
// mod_proxy_ajp has problem processing HTTP/1.1 POST request with delayed payload transmission (Expect: 100 Continue), causes 500 Server Error in AJP module.
@@ -98,6 +101,7 @@ public static netlicensing request(Context context, Method method, String path,
98101
request.PreAuthenticate = true;
99102
request.Accept = "application/xml";
100103
request.SendChunked = false;
104+
request.Timeout = timeoutInSeconds * 1000;
101105
if (requestBody != null)
102106
{
103107
byte[] byteArray = Encoding.UTF8.GetBytes(requestBody);

0 commit comments

Comments
 (0)