Skip to content

Commit 4a72a7a

Browse files
authored
Fixing bugs in sending files and adjusting to add more tests (#243)
1 parent 597307e commit 4a72a7a

16 files changed

+57
-50
lines changed

nanoFramework.WebServer.FileSystem.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Otherwise use 'nanoFramework.WebServer' nuget.</description>
2424
<tags>http https webserver net netmf nf nanoframework</tags>
2525
<dependencies>
2626
<dependency id="nanoFramework.CoreLibrary" version="1.15.5" />
27-
<dependency id="nanoFramework.System.Net.Http.Server" version="1.5.118" />
27+
<dependency id="nanoFramework.System.Net.Http.Server" version="1.5.125" />
2828
<dependency id="nanoFramework.System.IO.FileSystem" version="1.1.32" />
2929
</dependencies>
3030
</metadata>

nanoFramework.WebServer.FileSystem/nanoFramework.WebServer.FileSystem.nfproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,10 @@
110110
<Private>True</Private>
111111
</Reference>
112112
<Reference Include="System.Net">
113-
<HintPath>..\packages\nanoFramework.System.Net.1.10.70\lib\System.Net.dll</HintPath>
113+
<HintPath>..\packages\nanoFramework.System.Net.1.10.72\lib\System.Net.dll</HintPath>
114114
</Reference>
115115
<Reference Include="System.Net.Http">
116-
<HintPath>..\packages\nanoFramework.System.Net.Http.Server.1.5.118\lib\System.Net.Http.dll</HintPath>
116+
<HintPath>..\packages\nanoFramework.System.Net.Http.Server.1.5.125\lib\System.Net.Http.dll</HintPath>
117117
</Reference>
118118
<Reference Include="System.Threading, Version=1.1.32.63105, Culture=neutral, PublicKeyToken=c07d481e9758c731">
119119
<HintPath>..\packages\nanoFramework.System.Threading.1.1.32\lib\System.Threading.dll</HintPath>

nanoFramework.WebServer.FileSystem/packages.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<package id="nanoFramework.System.Collections" version="1.5.31" targetFramework="netnano1.0" />
66
<package id="nanoFramework.System.IO.FileSystem" version="1.1.32" targetFramework="netnano1.0" />
77
<package id="nanoFramework.System.IO.Streams" version="1.1.52" targetFramework="netnano1.0" />
8-
<package id="nanoFramework.System.Net" version="1.10.70" targetFramework="netnano1.0" />
9-
<package id="nanoFramework.System.Net.Http.Server" version="1.5.118" targetFramework="netnano1.0" />
8+
<package id="nanoFramework.System.Net" version="1.10.72" targetFramework="netnano1.0" />
9+
<package id="nanoFramework.System.Net.Http.Server" version="1.5.125" targetFramework="netnano1.0" />
1010
<package id="nanoFramework.System.Runtime" version="1.0.6" targetFramework="netnano1.0" />
1111
<package id="nanoFramework.System.Text" version="1.2.54" targetFramework="netnano1.0" />
1212
<package id="nanoFramework.System.Threading" version="1.1.32" targetFramework="netnano1.0" />

nanoFramework.WebServer.FileSystem/packages.lock.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@
3434
},
3535
"nanoFramework.System.Net": {
3636
"type": "Direct",
37-
"requested": "[1.10.70, 1.10.70]",
38-
"resolved": "1.10.70",
39-
"contentHash": "XP4XdmsCDrXcOJDSfo4zgqccTwPoygBH8y19pnVmrF/EYwbx4WzaMvRE5VnYKu2bp10T78su16+jxzeFZADqDw=="
37+
"requested": "[1.10.72, 1.10.72]",
38+
"resolved": "1.10.72",
39+
"contentHash": "QxPfYR5tzI+76lenKy5Pszb1YPyurvjFu+yI75gX2G5g3ZkYkcssFMDk4i0HaX43vJj2dGJ+Rw2KXFIwOlVTHg=="
4040
},
4141
"nanoFramework.System.Net.Http.Server": {
4242
"type": "Direct",
43-
"requested": "[1.5.118, 1.5.118]",
44-
"resolved": "1.5.118",
45-
"contentHash": "ufWlPDHTEvZEYsXqagHLC9K5v7o6o/lRYF+obNaWeLXlxbLR32TAPXgrSGcIkhjY6wksX77lcqu2wkAgStRdag=="
43+
"requested": "[1.5.125, 1.5.125]",
44+
"resolved": "1.5.125",
45+
"contentHash": "DjGBE2Zn5FHENeWkHeO/lPDdZ+Jqy22uWE8BvWrM+eCWDFiqj1Lh6OCiC/JZZ5QIQSAmPtRKJAbm9Ki5a/vJLA=="
4646
},
4747
"nanoFramework.System.Runtime": {
4848
"type": "Direct",

nanoFramework.WebServer.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ If serving files from local storage is a requirement, please use instead the 'na
2222
<tags>http https webserver net netmf nf nanoframework</tags>
2323
<dependencies>
2424
<dependency id="nanoFramework.CoreLibrary" version="1.15.5" />
25-
<dependency id="nanoFramework.System.Net.Http.Server" version="1.5.118" />
25+
<dependency id="nanoFramework.System.Net.Http.Server" version="1.5.125" />
2626
</dependencies>
2727
</metadata>
2828
<files>

nanoFramework.WebServer/WebServer.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ public static void SendFileOverHTTP(HttpListenerResponse response, string strFil
463463
long fileLength = dataReader.Length;
464464
response.ContentType = contentType;
465465
response.ContentLength64 = fileLength;
466-
response.SendChunked = true;
466+
response.SendChunked = false;
467467
// Now loops sending all the data.
468468
for (long bytesSent = 0; bytesSent < fileLength;)
469469
{
@@ -496,7 +496,7 @@ public static void SendFileOverHTTP(HttpListenerResponse response, string fileNa
496496
contentType = contentType == "" ? GetContentTypeFromFileName(fileName.Substring(fileName.LastIndexOf('.') + 1)) : contentType;
497497
response.ContentType = contentType;
498498
response.ContentLength64 = content.Length;
499-
response.SendChunked = true;
499+
response.SendChunked = false;
500500
// Now loop to send all the data.
501501

502502
for (long bytesSent = 0; bytesSent < content.Length;)
@@ -559,7 +559,7 @@ private void StartListener()
559559
var credSite = route.Authentication.Credentials ?? Credential;
560560
var credReq = context.Request.Credentials;
561561

562-
isAuthOk = credReq != null
562+
isAuthOk = credReq != null && credSite != null
563563
&& (credSite.UserName == credReq.UserName)
564564
&& (credSite.Password == credReq.Password);
565565
}

nanoFramework.WebServer/nanoFramework.WebServer.nfproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,10 @@
7070
<Private>True</Private>
7171
</Reference>
7272
<Reference Include="System.Net">
73-
<HintPath>..\packages\nanoFramework.System.Net.1.10.70\lib\System.Net.dll</HintPath>
73+
<HintPath>..\packages\nanoFramework.System.Net.1.10.72\lib\System.Net.dll</HintPath>
7474
</Reference>
7575
<Reference Include="System.Net.Http">
76-
<HintPath>..\packages\nanoFramework.System.Net.Http.Server.1.5.118\lib\System.Net.Http.dll</HintPath>
76+
<HintPath>..\packages\nanoFramework.System.Net.Http.Server.1.5.125\lib\System.Net.Http.dll</HintPath>
7777
</Reference>
7878
<Reference Include="System.Threading, Version=1.1.32.63105, Culture=neutral, PublicKeyToken=c07d481e9758c731">
7979
<HintPath>..\packages\nanoFramework.System.Threading.1.1.32\lib\System.Threading.dll</HintPath>

nanoFramework.WebServer/packages.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<package id="nanoFramework.Runtime.Events" version="1.11.15" targetFramework="netnano1.0" />
55
<package id="nanoFramework.System.Collections" version="1.5.31" targetFramework="netnano1.0" />
66
<package id="nanoFramework.System.IO.Streams" version="1.1.52" targetFramework="netnano1.0" />
7-
<package id="nanoFramework.System.Net" version="1.10.70" targetFramework="netnano1.0" />
8-
<package id="nanoFramework.System.Net.Http.Server" version="1.5.118" targetFramework="netnano1.0" />
7+
<package id="nanoFramework.System.Net" version="1.10.72" targetFramework="netnano1.0" />
8+
<package id="nanoFramework.System.Net.Http.Server" version="1.5.125" targetFramework="netnano1.0" />
99
<package id="nanoFramework.System.Text" version="1.2.54" targetFramework="netnano1.0" />
1010
<package id="nanoFramework.System.Threading" version="1.1.32" targetFramework="netnano1.0" />
1111
<package id="Nerdbank.GitVersioning" version="3.6.133" developmentDependency="true" targetFramework="netnano1.0" />

nanoFramework.WebServer/packages.lock.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@
2828
},
2929
"nanoFramework.System.Net": {
3030
"type": "Direct",
31-
"requested": "[1.10.70, 1.10.70]",
32-
"resolved": "1.10.70",
33-
"contentHash": "XP4XdmsCDrXcOJDSfo4zgqccTwPoygBH8y19pnVmrF/EYwbx4WzaMvRE5VnYKu2bp10T78su16+jxzeFZADqDw=="
31+
"requested": "[1.10.72, 1.10.72]",
32+
"resolved": "1.10.72",
33+
"contentHash": "QxPfYR5tzI+76lenKy5Pszb1YPyurvjFu+yI75gX2G5g3ZkYkcssFMDk4i0HaX43vJj2dGJ+Rw2KXFIwOlVTHg=="
3434
},
3535
"nanoFramework.System.Net.Http.Server": {
3636
"type": "Direct",
37-
"requested": "[1.5.118, 1.5.118]",
38-
"resolved": "1.5.118",
39-
"contentHash": "ufWlPDHTEvZEYsXqagHLC9K5v7o6o/lRYF+obNaWeLXlxbLR32TAPXgrSGcIkhjY6wksX77lcqu2wkAgStRdag=="
37+
"requested": "[1.5.125, 1.5.125]",
38+
"resolved": "1.5.125",
39+
"contentHash": "DjGBE2Zn5FHENeWkHeO/lPDdZ+Jqy22uWE8BvWrM+eCWDFiqj1Lh6OCiC/JZZ5QIQSAmPtRKJAbm9Ki5a/vJLA=="
4040
},
4141
"nanoFramework.System.Text": {
4242
"type": "Direct",

tests/WebServerE2ETests/Program.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using System.IO;
99
using System.Net;
1010
using System.Net.NetworkInformation;
11+
using System.Text;
1112
using System.Threading;
1213

1314
namespace WebServerE2ETests
@@ -86,9 +87,15 @@ private static void ServerCommandReceived(object obj, WebServerEventArgs e)
8687
return;
8788
}
8889
}
90+
else if (url.IndexOf("/Text2.txt") == 0)
91+
{
92+
WebServer.SendFileOverHTTP(e.Context.Response, "Text2.txt", Encoding.UTF8.GetBytes("This is a test file for WebServer"));
93+
return;
94+
}
8995
else if (url.ToLower().IndexOf("/useinternal") == 0)
9096
{
9197
File.WriteAllText(FileName, "This is a test file for WebServer");
98+
return;
9299
}
93100
else
94101
{

0 commit comments

Comments
 (0)