Skip to content

Commit 962a9a8

Browse files
committed
to file scoped namespaces
1 parent 8f198e0 commit 962a9a8

26 files changed

+1788
-1823
lines changed

Program.cs

+11-19
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,18 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.IO;
4-
using System.Linq;
5-
using System.Threading.Tasks;
61
using Microsoft.AspNetCore;
72
using Microsoft.AspNetCore.Hosting;
8-
using Microsoft.Extensions.Configuration;
9-
using Microsoft.Extensions.Logging;
103
using ServiceStack;
114

12-
namespace Apps
5+
namespace Apps;
6+
7+
public class Program
138
{
14-
public class Program
9+
public static void Main(string[] args)
1510
{
16-
public static void Main(string[] args)
17-
{
18-
BuildWebHost(args).Run();
19-
}
20-
21-
public static IWebHost BuildWebHost(string[] args) =>
22-
WebHost.CreateDefaultBuilder(args)
23-
.UseModularStartup<Startup>()
24-
.Build();
11+
BuildWebHost(args).Run();
2512
}
26-
}
13+
14+
public static IWebHost BuildWebHost(string[] args) =>
15+
WebHost.CreateDefaultBuilder(args)
16+
.UseModularStartup<Startup>()
17+
.Build();
18+
}

ServiceInterface/AppServices.cs

+84-85
Original file line numberDiff line numberDiff line change
@@ -7,109 +7,108 @@
77
using ServiceStack.Text;
88
using ServiceStack.Web;
99

10-
namespace Apps.ServiceInterface
10+
namespace Apps.ServiceInterface;
11+
12+
public class AppServices : Service
1113
{
12-
public class AppServices : Service
13-
{
14-
public Sites Sites { get; set; }
14+
public Sites Sites { get; set; }
1515

16-
public async Task<object> Get(GetSiteInfoLanguages request)
17-
{
18-
if (string.IsNullOrEmpty(request.BaseUrl) && string.IsNullOrEmpty(request.Slug))
19-
throw new ArgumentNullException(nameof(request.BaseUrl));
16+
public async Task<object> Get(GetSiteInfoLanguages request)
17+
{
18+
if (string.IsNullOrEmpty(request.BaseUrl) && string.IsNullOrEmpty(request.Slug))
19+
throw new ArgumentNullException(nameof(request.BaseUrl));
2020

21-
var slug = request.Slug ?? SiteUtils.UrlToSlug(request.BaseUrl);
22-
var site = await Sites.GetSiteAsync(slug);
21+
var slug = request.Slug ?? SiteUtils.UrlToSlug(request.BaseUrl);
22+
var site = await Sites.GetSiteAsync(slug);
2323

24-
var languageInfos = await site.Languages.GetLanguageInfosAsync();
25-
var languages = new Dictionary<string, string>();
26-
foreach (var entry in languageInfos)
27-
{
28-
languages[entry.Key] = entry.Value.Content;
29-
}
30-
return new GetSiteInfoLanguagesResponse {
31-
BaseUrl = request.BaseUrl ?? SiteUtils.UrlFromSlug(slug),
32-
Slug = slug,
33-
Languages = languages,
34-
};
24+
var languageInfos = await site.Languages.GetLanguageInfosAsync();
25+
var languages = new Dictionary<string, string>();
26+
foreach (var entry in languageInfos)
27+
{
28+
languages[entry.Key] = entry.Value.Content;
3529
}
30+
return new GetSiteInfoLanguagesResponse {
31+
BaseUrl = request.BaseUrl ?? SiteUtils.UrlFromSlug(slug),
32+
Slug = slug,
33+
Languages = languages,
34+
};
35+
}
3636

37-
// /json/reply/{Request} or /csv/reply/{Request}
38-
private string CreateSiteRequestUrl(SiteInfo site, string requestDtoName) =>
39-
site.BaseUrl.CombineWith(Request.PathInfo.LastLeftPart('/'), requestDtoName);
37+
// /json/reply/{Request} or /csv/reply/{Request}
38+
private string CreateSiteRequestUrl(SiteInfo site, string requestDtoName) =>
39+
site.BaseUrl.CombineWith(Request.PathInfo.LastLeftPart('/'), requestDtoName);
4040

41-
public async Task Any(SiteInvoke request)
42-
{
43-
var site = await Sites.AssertSiteAsync(request.Slug);
44-
if (request.Request == null)
45-
throw new ArgumentNullException(nameof(request.Request));
41+
public async Task Any(SiteInvoke request)
42+
{
43+
var site = await Sites.AssertSiteAsync(request.Slug);
44+
if (request.Request == null)
45+
throw new ArgumentNullException(nameof(request.Request));
4646

47-
var url = CreateSiteRequestUrl(site, request.Request);
48-
var qs = SiteUtils.ToUrlEncoded(request.Args);
49-
var sendInBody = HttpUtils.HasRequestBody(Request.Verb);
50-
if (!string.IsNullOrEmpty(qs) && !sendInBody)
51-
{
52-
url += "?" + qs;
53-
}
47+
var url = CreateSiteRequestUrl(site, request.Request);
48+
var qs = SiteUtils.ToUrlEncoded(request.Args);
49+
var sendInBody = HttpUtils.HasRequestBody(Request.Verb);
50+
if (!string.IsNullOrEmpty(qs) && !sendInBody)
51+
{
52+
url += "?" + qs;
53+
}
5454

55-
var webReq = CreateSiteWebRequest(site, url);
56-
ProxyFeatureHandler.InitWebRequest(Request as IHttpRequest, webReq);
55+
var webReq = CreateSiteWebRequest(site, url);
56+
ProxyFeatureHandler.InitWebRequest(Request as IHttpRequest, webReq);
5757

58-
if (!string.IsNullOrEmpty(qs) && sendInBody)
59-
{
60-
webReq.ContentType = MimeTypes.FormUrlEncoded;
61-
await using var requestStream = await webReq.GetRequestStreamAsync();
62-
await requestStream.WriteAsync(MemoryProvider.Instance.ToUtf8(qs));
63-
}
64-
65-
var proxy = new ProxyFeatureHandler();
66-
await proxy.ProxyToResponse((IHttpResponse) Response, webReq);
58+
if (!string.IsNullOrEmpty(qs) && sendInBody)
59+
{
60+
webReq.ContentType = MimeTypes.FormUrlEncoded;
61+
await using var requestStream = await webReq.GetRequestStreamAsync();
62+
await requestStream.WriteAsync(MemoryProvider.Instance.ToUtf8(qs));
6763
}
64+
65+
var proxy = new ProxyFeatureHandler();
66+
await proxy.ProxyToResponse((IHttpResponse) Response, webReq);
67+
}
6868

69-
public async Task Any(SiteProxy request)
70-
{
71-
var site = await Sites.AssertSiteAsync(request.Slug);
72-
if (request.Request == null)
73-
throw new ArgumentNullException(nameof(request.Request));
69+
public async Task Any(SiteProxy request)
70+
{
71+
var site = await Sites.AssertSiteAsync(request.Slug);
72+
if (request.Request == null)
73+
throw new ArgumentNullException(nameof(request.Request));
7474

75-
var url = CreateSiteRequestUrl(site, request.Request);
76-
var qs = SiteUtils.ToUrlEncoded(request.Query);
77-
if (!string.IsNullOrEmpty(qs))
78-
url += "?" + qs;
75+
var url = CreateSiteRequestUrl(site, request.Request);
76+
var qs = SiteUtils.ToUrlEncoded(request.Query);
77+
if (!string.IsNullOrEmpty(qs))
78+
url += "?" + qs;
7979

80-
var webReq = CreateSiteWebRequest(site, url);
80+
var webReq = CreateSiteWebRequest(site, url);
8181

82-
var proxy = new ProxyFeatureHandler();
83-
await proxy.ProxyRequestAsync((IHttpRequest) Request, webReq);
84-
}
82+
var proxy = new ProxyFeatureHandler();
83+
await proxy.ProxyRequestAsync((IHttpRequest) Request, webReq);
84+
}
8585

86-
private HttpWebRequest CreateSiteWebRequest(SiteInfo siteInfo, string url)
86+
private HttpWebRequest CreateSiteWebRequest(SiteInfo siteInfo, string url)
87+
{
88+
var req = (HttpWebRequest)WebRequest.Create(url);
89+
var siteSession = SessionBag.Get<SiteSession>();
90+
if (siteSession != null)
8791
{
88-
var req = (HttpWebRequest)WebRequest.Create(url);
89-
var siteSession = SessionBag.Get<SiteSession>();
90-
if (siteSession != null)
92+
if (siteSession.BearerToken != null)
9193
{
92-
if (siteSession.BearerToken != null)
93-
{
94-
req.AddBearerToken(siteSession.BearerToken);
95-
}
96-
else if (siteSession.SessionId != null)
97-
{
98-
var overrideParam = "X-" + Keywords.SessionId;
99-
req.Headers[overrideParam] = siteSession.SessionId;
100-
}
101-
else if (siteSession.UserName != null && siteSession.Password != null)
102-
{
103-
req.AddBasicAuth(siteSession.UserName, siteSession.Password);
104-
}
105-
else if (siteSession.AuthSecret != null)
106-
{
107-
var overrideParam = HttpHeaders.XParamOverridePrefix + Keywords.AuthSecret;
108-
req.Headers[overrideParam] = siteSession.AuthSecret;
109-
}
94+
req.AddBearerToken(siteSession.BearerToken);
95+
}
96+
else if (siteSession.SessionId != null)
97+
{
98+
var overrideParam = "X-" + Keywords.SessionId;
99+
req.Headers[overrideParam] = siteSession.SessionId;
100+
}
101+
else if (siteSession.UserName != null && siteSession.Password != null)
102+
{
103+
req.AddBasicAuth(siteSession.UserName, siteSession.Password);
104+
}
105+
else if (siteSession.AuthSecret != null)
106+
{
107+
var overrideParam = HttpHeaders.XParamOverridePrefix + Keywords.AuthSecret;
108+
req.Headers[overrideParam] = siteSession.AuthSecret;
110109
}
111-
return req;
112110
}
113-
111+
return req;
114112
}
115-
}
113+
114+
}

ServiceInterface/JupyterServices.cs

+35-36
Original file line numberDiff line numberDiff line change
@@ -4,49 +4,48 @@
44
using ServiceStack;
55
using ServiceStack.Text;
66

7-
namespace Apps.ServiceInterface
7+
namespace Apps.ServiceInterface;
8+
9+
public class JupyterServices : Service
810
{
9-
public class JupyterServices : Service
11+
public Sites Sites { get; set; }
12+
13+
public async Task<object> Any(CreateNotebook request)
1014
{
11-
public Sites Sites { get; set; }
15+
if (string.IsNullOrEmpty(request.Lang))
16+
throw new ArgumentNullException(nameof(request.Lang));
17+
if (string.IsNullOrEmpty(request.Slug))
18+
throw new ArgumentNullException(nameof(request.Slug));
1219

13-
public async Task<object> Any(CreateNotebook request)
20+
var baseUrl = request.Slug;
21+
if (baseUrl.IndexOf("://", StringComparison.Ordinal) == -1)
1422
{
15-
if (string.IsNullOrEmpty(request.Lang))
16-
throw new ArgumentNullException(nameof(request.Lang));
17-
if (string.IsNullOrEmpty(request.Slug))
18-
throw new ArgumentNullException(nameof(request.Slug));
19-
20-
var baseUrl = request.Slug;
21-
if (baseUrl.IndexOf("://", StringComparison.Ordinal) == -1)
22-
{
23-
if (baseUrl.StartsWith("http.") || baseUrl.StartsWith("https."))
24-
baseUrl = baseUrl.LeftPart('.') + "://" + baseUrl.RightPart('.');
25-
else
26-
baseUrl = "https://" + baseUrl;
27-
}
23+
if (baseUrl.StartsWith("http.") || baseUrl.StartsWith("https."))
24+
baseUrl = baseUrl.LeftPart('.') + "://" + baseUrl.RightPart('.');
25+
else
26+
baseUrl = "https://" + baseUrl;
27+
}
2828

29-
var requestDto = request.Request;
30-
var lang = LangInfoUtils.AssertLangInfo(request.Lang);
31-
var notebook = await Sites.CreateNotebookAsync(lang, baseUrl, request.IncludeTypes, requestDto, request.Args);
29+
var requestDto = request.Request;
30+
var lang = LangInfoUtils.AssertLangInfo(request.Lang);
31+
var notebook = await Sites.CreateNotebookAsync(lang, baseUrl, request.IncludeTypes, requestDto, request.Args);
3232

33-
var suffix = requestDto ?? (request.IncludeTypes != null
34-
? request.IncludeTypes.Replace("{", "").Replace("}", "").Replace(".", "").Replace("*", "").Replace(",", "-")
35-
: "");
36-
var fileName = request.Name ??
37-
baseUrl.RightPart("://").LeftPart('/').SafeVarRef() +
38-
(string.IsNullOrEmpty(suffix) ? "" : "-" + suffix);
39-
if (!fileName.EndsWith(".ipynb"))
40-
fileName += ".ipynb";
33+
var suffix = requestDto ?? (request.IncludeTypes != null
34+
? request.IncludeTypes.Replace("{", "").Replace("}", "").Replace(".", "").Replace("*", "").Replace(",", "-")
35+
: "");
36+
var fileName = request.Name ??
37+
baseUrl.RightPart("://").LeftPart('/').SafeVarRef() +
38+
(string.IsNullOrEmpty(suffix) ? "" : "-" + suffix);
39+
if (!fileName.EndsWith(".ipynb"))
40+
fileName += ".ipynb";
4141

42-
var json = notebook.ToJson().IndentJson();
42+
var json = notebook.ToJson().IndentJson();
4343

44-
return new HttpResult(json, "application/x-ipynb+json") {
45-
Headers = {
46-
[HttpHeaders.ContentDisposition] =
47-
$"attachment; {HttpExt.GetDispositionFileName(fileName)}; size={json.Length}; modification-date={DateTime.UtcNow.ToString("R").Replace(",", "")}"
48-
}
49-
};
50-
}
44+
return new HttpResult(json, "application/x-ipynb+json") {
45+
Headers = {
46+
[HttpHeaders.ContentDisposition] =
47+
$"attachment; {HttpExt.GetDispositionFileName(fileName)}; size={json.Length}; modification-date={DateTime.UtcNow.ToString("R").Replace(",", "")}"
48+
}
49+
};
5150
}
5251
}

0 commit comments

Comments
 (0)