Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ private static void ServerCommandReceived(object source, WebServerEventArgs e)
{
if (e.Context.Request.RawUrl.ToLower() == "/hello")
{
WebServer.OutPutStream(e.Context.Response, "Hello from nanoFramework!");
WebServer.OutputAsStream(e.Context.Response, "Hello from nanoFramework!");
}
else
{
Expand All @@ -76,15 +76,15 @@ public class MyController
[Method("GET")]
public void Hello(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Hello from Controller!");
WebServer.OutputAsStream(e.Context.Response, "Hello from Controller!");
}

[Route("api/led/{id}")]
[Method("GET")]
public void LedState(WebServerEventArgs e)
{
string ledId = e.GetRouteParameter("id");
WebServer.OutPutStream(e.Context.Response, $"You selected Led {ledId}!");
WebServer.OutputAsStream(e.Context.Response, $"You selected Led {ledId}!");
}
}
```
Expand Down
30 changes: 15 additions & 15 deletions doc/authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class SecureController
[Route("secure/data")]
public void GetSecureData(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Secure data");
WebServer.OutputAsStream(e.Context.Response, "Secure data");
}
}

Expand All @@ -45,14 +45,14 @@ public class UserController
[Authentication("Basic:admin secretpassword")]
public void AdminPanel(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Admin panel");
WebServer.OutputAsStream(e.Context.Response, "Admin panel");
}

[Route("user")]
[Authentication("Basic:user userpass")]
public void UserPanel(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "User panel");
WebServer.OutputAsStream(e.Context.Response, "User panel");
}
}
```
Expand All @@ -70,7 +70,7 @@ public class ApiController
[Route("api/data")]
public void GetData(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "API data");
WebServer.OutputAsStream(e.Context.Response, "API data");
}
}

Expand All @@ -92,14 +92,14 @@ public class ServiceController
[Authentication("ApiKey:premium-key-789")]
public void PremiumService(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Premium service");
WebServer.OutputAsStream(e.Context.Response, "Premium service");
}

[Route("service/basic")]
[Authentication("ApiKey:basic-key-456")]
public void BasicService(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Basic service");
WebServer.OutputAsStream(e.Context.Response, "Basic service");
}
}
```
Expand All @@ -125,7 +125,7 @@ public class PublicController
[Route("public/info")]
public void GetPublicInfo(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Public information");
WebServer.OutputAsStream(e.Context.Response, "Public information");
}
}
```
Expand All @@ -140,28 +140,28 @@ public class MixedController
public void BasicAuth(WebServerEventArgs e)
{
// Uses class-level Basic authentication
WebServer.OutPutStream(e.Context.Response, "Basic auth data");
WebServer.OutputAsStream(e.Context.Response, "Basic auth data");
}

[Route("secure/api")]
[Authentication("ApiKey:special-key-123")] // Override with API key
public void ApiKeyAuth(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "API key data");
WebServer.OutputAsStream(e.Context.Response, "API key data");
}

[Route("secure/custom")]
[Authentication("Basic:customuser custompass")] // Override with custom basic auth
public void CustomAuth(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Custom auth data");
WebServer.OutputAsStream(e.Context.Response, "Custom auth data");
}

[Route("public")]
[Authentication("None")] // Override to allow public access
public void PublicAccess(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Public data");
WebServer.OutputAsStream(e.Context.Response, "Public data");
}
}
```
Expand All @@ -177,27 +177,27 @@ public class MultiAuthController
[Authentication("Basic")]
public void DataBasicAuth(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Data via Basic auth");
WebServer.OutputAsStream(e.Context.Response, "Data via Basic auth");
}

[Route("data")]
[Authentication("ApiKey:key1")]
public void DataApiKey1(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Data via API key 1");
WebServer.OutputAsStream(e.Context.Response, "Data via API key 1");
}

[Route("data")]
[Authentication("ApiKey:key2")]
public void DataApiKey2(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Data via API key 2");
WebServer.OutputAsStream(e.Context.Response, "Data via API key 2");
}

[Route("data")]
public void DataPublic(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Public data");
WebServer.OutputAsStream(e.Context.Response, "Public data");
}
}
```
Expand Down
24 changes: 12 additions & 12 deletions doc/controllers-routing.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public class TestController
[Method("GET")]
public void GetTest(WebServerEventArgs e)
{
WebServer.OutPutStream(e.Context.Response, "Test endpoint");
WebServer.OutputAsStream(e.Context.Response, "Test endpoint");
}
}
```
Expand All @@ -47,7 +47,7 @@ public class TestController
public void MultipleRoutes(WebServerEventArgs e)
{
string route = e.Context.Request.RawUrl.TrimStart('/').Split('/')[0];
WebServer.OutPutStream(e.Context.Response, $"Route: {route}");
WebServer.OutputAsStream(e.Context.Response, $"Route: {route}");
}
}
```
Expand Down Expand Up @@ -123,7 +123,7 @@ public class TestController
{
// Will handle GET, POST, PUT, DELETE, etc.
string method = e.Context.Request.HttpMethod;
WebServer.OutPutStream(e.Context.Response, $"Method: {method}");
WebServer.OutputAsStream(e.Context.Response, $"Method: {method}");
}
}
```
Expand Down Expand Up @@ -162,7 +162,7 @@ public void GetUser(WebServerEventArgs e)
if (segments.Length > 2)
{
string userId = segments[2]; // /api/users/123
WebServer.OutPutStream(e.Context.Response, $"User ID: {userId}");
WebServer.OutputAsStream(e.Context.Response, $"User ID: {userId}");
}
}
```
Expand All @@ -176,7 +176,7 @@ nanoFramework WebServer supports parameterized routes with named placeholders us
public void GetUserById(WebServerEventArgs e)
{
string userId = e.GetRouteParameter("id");
WebServer.OutPutStream(e.Context.Response, $"User ID: {userId}");
WebServer.OutputAsStream(e.Context.Response, $"User ID: {userId}");
}

[Route("api/users/{userId}/sensors/{sensorId}")]
Expand All @@ -185,7 +185,7 @@ public void GetUserSensor(WebServerEventArgs e)
string userId = e.GetRouteParameter("userId");
string sensorId = e.GetRouteParameter("sensorId");

WebServer.OutPutStream(e.Context.Response,
WebServer.OutputAsStream(e.Context.Response,
$"User: {userId}, Sensor: {sensorId}");
}

Expand All @@ -196,7 +196,7 @@ public void GetDeviceMeasurement(WebServerEventArgs e)
string measurementType = e.GetRouteParameter("type");

// Example: /api/devices/esp32-001/measurements/temperature
WebServer.OutPutStream(e.Context.Response,
WebServer.OutputAsStream(e.Context.Response,
$"Device {deviceId} - {measurementType} data");
}
```
Expand All @@ -223,7 +223,7 @@ public class PersonController
{
string json = JsonConvert.SerializeObject(persons);
e.Context.Response.ContentType = "application/json";
WebServer.OutPutStream(e.Context.Response, json);
WebServer.OutputAsStream(e.Context.Response, json);
}

[Route("api/persons/{id}")]
Expand All @@ -238,7 +238,7 @@ public class PersonController
{
string json = JsonConvert.SerializeObject(person);
e.Context.Response.ContentType = "application/json";
WebServer.OutPutStream(e.Context.Response, json);
WebServer.OutputAsStream(e.Context.Response, json);
}
else
{
Expand Down Expand Up @@ -421,7 +421,7 @@ public void GetData(WebServerEventArgs e)
string json = JsonConvert.SerializeObject(data);

e.Context.Response.ContentType = "application/json";
WebServer.OutPutStream(e.Context.Response, json);
WebServer.OutputAsStream(e.Context.Response, json);
}
```

Expand All @@ -433,7 +433,7 @@ public void GetPage(WebServerEventArgs e)
{
string html = "<html><body><h1>Hello nanoFramework!</h1></body></html>";
e.Context.Response.ContentType = "text/html";
WebServer.OutPutStream(e.Context.Response, html);
WebServer.OutputAsStream(e.Context.Response, html);
}
```

Expand All @@ -446,6 +446,6 @@ Bonus point if you read up to here, you can also create your custom status code!
public void CustomStatus(WebServerEventArgs e)
{
e.Context.Response.StatusCode = 418; // I'm a teapot
WebServer.OutPutStream(e.Context.Response, "I'm a teapot!");
WebServer.OutputAsStream(e.Context.Response, "I'm a teapot!");
}
```
Loading