Skip to content

Commit 1dc0f1a

Browse files
applicationUrl is got from launchSettings.json and code cleaned from unused namespaces
1 parent 1612eb1 commit 1dc0f1a

File tree

11 files changed

+42
-28
lines changed

11 files changed

+42
-28
lines changed

Tigernet.Samples.RestApi/Models/User.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ namespace Tigernet.Samples.RestApi.Models
66
public class User : IEntity<int>, IQueryableEntity
77
{
88
public int Id { get; set; }
9-
9+
1010
[SearchableProperty]
1111
public string Name { get; set; }
12-
12+
1313
public int Age { get; set; }
1414
}
1515
}

Tigernet.Samples.RestApi/Program.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
using Tigernet.Samples.RestApi.Clevers;
33
using Tigernet.Samples.RestApi.Clevers.Interfaces;
44

5-
var builder = new TigernetHostBuilder("http://localhost:5000/");
5+
var builder = new TigernetHostBuilder();
66

77
builder.AddService<IUserClever, UserClever>();
88

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"applicationUrl": "http://localhost:5000/"
3+
}

Tigernet.Samples.RestApi/Resters/UsersRester.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public object Put()
5252
Name = "Ali",
5353
Age = 28
5454
};
55-
55+
5656
return Ok(userClever.Update(user.Id, user));
5757
}
5858
}

src/Tigernet.Hosting/Extensions/QueryExtensions.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
using System.Linq.Expressions;
2-
using Microsoft.EntityFrameworkCore;
1+
using Microsoft.EntityFrameworkCore;
2+
using System.Linq.Expressions;
33
using Tigernet.Hosting.Models.Common;
44
using Tigernet.Hosting.Models.Query;
55

src/Tigernet.Hosting/Models/Common/IQueryableEntity.cs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
using Tigernet.Hosting.Models.Query;
2-
3-
namespace Tigernet.Hosting.Models.Common
1+
namespace Tigernet.Hosting.Models.Common
42
{
53
/// <summary>
64
/// Defines queryable entity

src/Tigernet.Hosting/Models/Query/FilterOptions.cs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
using Tigernet.Hosting.Models.Query;
2-
3-
namespace Tigernet.Hosting.Models.Query;
1+
namespace Tigernet.Hosting.Models.Query;
42

53
/// <summary>
64
/// Represents filtering options

src/Tigernet.Hosting/Models/Query/IQueryOptions.cs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
using Tigernet.Hosting.Models.Query;
2-
3-
namespace Tigernet.Hosting.Models.Query;
1+
namespace Tigernet.Hosting.Models.Query;
42

53
/// <summary>
64
/// Defines properties for queryable source query options

src/Tigernet.Hosting/Models/Query/QueryOptions.cs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
using Tigernet.Hosting.Models.Query;
2-
3-
namespace Tigernet.Hosting.Models.Query;
1+
namespace Tigernet.Hosting.Models.Query;
42

53
/// <summary>
64
/// Represents queryable source query options

src/Tigernet.Hosting/Program.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using System.Text;
22
using Tigernet.Hosting;
33

4-
TigernetHostBuilder host = new TigernetHostBuilder("http://localhost:5001/");
4+
TigernetHostBuilder host = new TigernetHostBuilder();
55

66
// add route to the host
77
host.MapRoute("/", async context =>

src/Tigernet.Hosting/TigernetHostBuilder.cs

+28-9
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1+
using Newtonsoft.Json;
12
using System.Data;
23
using System.Net;
34
using System.Reflection;
45
using System.Text;
5-
using System.Text.Json.Serialization;
6-
using Newtonsoft.Json;
6+
using System.Text.Json;
77
using Tigernet.Hosting.Attributes.HttpMethods;
88
using Tigernet.Hosting.Attributes.Resters;
99
using Tigernet.Hosting.Exceptions;
10-
using JsonConverter = System.Text.Json.Serialization.JsonConverter;
11-
using JsonSerializer = System.Text.Json.JsonSerializer;
1210

13-
namespace Tigernet.Hosting;
11+
namespace Tigernet.Hosting;
1412

1513
#pragma warning disable
1614
/// <summary>
@@ -47,10 +45,10 @@ public partial class TigernetHostBuilder
4745
/// Constructor for TigernetHostBuilder class. It takes in a string prefix and sets it as the prefix for the HttpListener.
4846
/// </summary>
4947
/// <param name="prefix">The prefix for the HttpListener</param>
50-
public TigernetHostBuilder(string prefix)
48+
public TigernetHostBuilder()
5149
{
52-
_prefix = prefix;
53-
_listener.Prefixes.Add(prefix);
50+
_prefix = GetPrefix();
51+
_listener.Prefixes.Add(_prefix);
5452
_services = new Dictionary<Type, Type>();
5553
}
5654

@@ -183,7 +181,7 @@ public void MapResters()
183181
}
184182
}
185183
}
186-
184+
187185
/// <summary>
188186
/// Retrieves a validated HttpMethodAttribute from an array of HttpMethodAttributes.
189187
/// </summary>
@@ -302,4 +300,25 @@ private async ValueTask<object[]> GetArguments(MethodInfo method, HttpListenerCo
302300

303301
return result;
304302
}
303+
304+
private string GetPrefix()
305+
{
306+
// get the assembly that is using this library
307+
var assembly = Assembly.GetCallingAssembly();
308+
309+
// Set the path of the file within the project
310+
string filePath = @"../../../Properties/launchSettings.json";
311+
312+
// Read the contents of the file
313+
string launchSettingsJson = File.ReadAllText(filePath);
314+
315+
// Parse the JSON string into a JsonDocument object
316+
JsonDocument launchSettingsDoc = JsonDocument.Parse(launchSettingsJson);
317+
318+
// Navigate the JSON object to get the desired value
319+
JsonElement applicationUrlElement = launchSettingsDoc.RootElement
320+
.GetProperty("applicationUrl");
321+
322+
return applicationUrlElement.GetString();
323+
}
305324
}

0 commit comments

Comments
 (0)