Skip to content

Commit 7f4b687

Browse files
committed
Merge branch 'develop' of https://github.com/mdaneri/Pode into develop
2 parents 919bc69 + 6b6e882 commit 7f4b687

File tree

191 files changed

+31458
-7438
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

191 files changed

+31458
-7438
lines changed

.github/workflows/ci-powershell.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,18 @@ jobs:
5151
- name: Run Pester Tests
5252
shell: powershell
5353
run: |
54-
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
55-
Invoke-Build Test
54+
# Check if the runner is in debug mode
55+
if ($env:RUNNER_DEBUG -eq '1') {
56+
$debug = $true
57+
} else {
58+
$debug = $false
59+
}
60+
61+
if ($debug) {
62+
Invoke-Build Test -PesterVerbosity Diagnostic
63+
} else {
64+
Invoke-Build Test
65+
}
5666
5767
- name: Build Packages
5868
shell: powershell

.github/workflows/ci-pwsh7_5.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,18 @@ jobs:
7272
- name: Run Pester Tests
7373
shell: pwsh
7474
run: |
75-
Invoke-Build Test
75+
# Check if the runner is in debug mode
76+
if ($env:RUNNER_DEBUG -eq '1') {
77+
$debug = $true
78+
} else {
79+
$debug = $false
80+
}
81+
82+
if ($debug) {
83+
Invoke-Build Test -PesterVerbosity Diagnostic
84+
} else {
85+
Invoke-Build Test
86+
}
7687
7788
- name: Build Packages
7889
shell: pwsh

.github/workflows/ci-pwsh_lts.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,18 @@ jobs:
7171
- name: Run Pester Tests
7272
shell: pwsh
7373
run: |
74-
Invoke-Build Test
74+
# Check if the runner is in debug mode
75+
if ($env:RUNNER_DEBUG -eq '1') {
76+
$debug = $true
77+
} else {
78+
$debug = $false
79+
}
80+
81+
if ($debug) {
82+
Invoke-Build Test -PesterVerbosity Diagnostic
83+
} else {
84+
Invoke-Build Test
85+
}
7586
7687
- name: Build Packages
7788
shell: pwsh

.github/workflows/ci-pwsh_preview.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,18 @@ jobs:
7171
- name: Run Pester Tests
7272
shell: pwsh
7373
run: |
74-
Invoke-Build Test
74+
# Check if the runner is in debug mode
75+
if ($env:RUNNER_DEBUG -eq '1') {
76+
$debug = $true
77+
} else {
78+
$debug = $false
79+
}
80+
81+
if ($debug) {
82+
Invoke-Build Test -PesterVerbosity Diagnostic
83+
} else {
84+
Invoke-Build Test
85+
}
7586
7687
- name: Build Packages
7788
shell: pwsh

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ docs/[Ff]unctions/
88
examples/state.json
99
examples/issue-*
1010
examples/issues/
11+
examples/State/
1112
pkg/
1213
deliverable/
1314
.vs/
@@ -266,6 +267,13 @@ examples/PetStore/data/PetData.json
266267
packers/choco/pode.nuspec
267268
packers/choco/tools/ChocolateyInstall.ps1
268269
docs/Getting-Started/Samples.md
270+
examples/HelloService/*_svcsettings.json
271+
examples/HelloService/svc_settings
269272

270273
# Dump Folder
271274
Dump
275+
examples/certs/*-public.pem
276+
examples/certs/*-private.pem
277+
tests/certs/*
278+
/examples/certs
279+
examples/Authentication/certs/*

.vscode/settings.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,13 @@
3838
"javascript.format.insertSpaceBeforeFunctionParenthesis": false,
3939
"[yaml]": {
4040
"editor.tabSize": 2
41+
},
42+
"markdownlint.config": {
43+
"default": true,
44+
"MD045": false,
45+
"MD033": false,
46+
"MD026": {
47+
"punctuation": ".,;:"
48+
}
4149
}
4250
}

Pode.sln

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{41F81369-868
77
EndProject
88
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Pode", "src\Listener\Pode.csproj", "{772D5C9F-1B25-46A7-8977-412A5F7F77D1}"
99
EndProject
10+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PodeMonitor", "src\PodeMonitor\PodeMonitor.csproj", "{A927D6A5-A2AC-471A-9ABA-45916B597EB6}"
11+
EndProject
1012
Global
1113
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1214
Debug|Any CPU = Debug|Any CPU

README.md

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
<p align="center">
1+
<h1 align="center">
22
<img src="https://github.com/Badgerati/Pode/raw/develop/images/icon-new.svg?raw=true" width="250" />
3-
</p>
3+
</h1>
44

55
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/Badgerati/Pode/master/LICENSE.txt)
66
[![Documentation](https://img.shields.io/github/v/release/badgerati/pode?label=docs&logo=readthedocs&logoColor=white)](https://badgerati.github.io/Pode)
@@ -53,36 +53,37 @@ Then navigate to `http://127.0.0.1:8000` in your browser.
5353

5454
## 🚀 Features
5555

56-
* Cross-platform using PowerShell Core (with support for PS5)
57-
* Docker support, including images for ARM/Raspberry Pi
58-
* Azure Functions, AWS Lambda, and IIS support
59-
* OpenAPI specification version 3.0.x and 3.1.0
60-
* OpenAPI documentation with Swagger, Redoc, RapidDoc, StopLight, OpenAPI-Explorer and RapiPdf
61-
* Listen on a single or multiple IP(v4/v6) address/hostnames
62-
* Cross-platform support for HTTP(S), WS(S), SSE, SMTP(S), and TCP(S)
63-
* Host REST APIs, Web Pages, and Static Content (with caching)
64-
* Support for custom error pages
65-
* Request and Response compression using GZip/Deflate
66-
* Multi-thread support for incoming requests
67-
* Inbuilt template engine, with support for third-parties
68-
* Async timers for short-running repeatable processes
69-
* Async scheduled tasks using cron expressions for short/long-running processes
70-
* Supports logging to CLI, Files, and custom logic for other services like LogStash
71-
* Cross-state variable access across multiple runspaces
72-
* Restart the server via file monitoring, or defined periods/times
73-
* Ability to allow/deny requests from certain IP addresses and subnets
74-
* Basic rate limiting for IP addresses and subnets
75-
* Middleware and Sessions on web servers, with Flash message and CSRF support
76-
* Authentication on requests, such as Basic, Windows and Azure AD
77-
* Authorisation support on requests, using Roles, Groups, Scopes, etc.
78-
* Support for dynamically building Routes from Functions and Modules
79-
* Generate/bind self-signed certificates
80-
* Secret management support to load secrets from vaults
81-
* Support for File Watchers
82-
* In-memory caching, with optional support for external providers (such as Redis)
83-
* (Windows) Open the hosted server as a desktop application
84-
* FileBrowsing support
85-
* Localization (i18n) in Arabic, German, Spanish, France, Italian, Japanese, Korean, Polish, Portuguese, and Chinese
56+
- ✅ Cross-platform using PowerShell Core (with support for PS5)
57+
- ✅ Docker support, including images for ARM/Raspberry Pi
58+
- ✅ Azure Functions, AWS Lambda, and IIS support
59+
- ✅ OpenAPI specification version 3.0.x and 3.1.0
60+
- ✅ OpenAPI documentation with Swagger, Redoc, RapidDoc, StopLight, OpenAPI-Explorer and RapiPdf
61+
- ✅ Listen on a single or multiple IP(v4/v6) addresses/hostnames
62+
- ✅ Cross-platform support for HTTP(S), WS(S), SSE, SMTP(S), and TCP(S)
63+
- ✅ Host REST APIs, Web Pages, and Static Content (with caching)
64+
- ✅ Support for custom error pages
65+
- ✅ Request and Response compression using GZip/Deflate
66+
- ✅ Multi-thread support for incoming requests
67+
- ✅ Inbuilt template engine, with support for third-parties
68+
- ✅ Async timers for short-running repeatable processes
69+
- ✅ Async scheduled tasks using cron expressions for short/long-running processes
70+
- ✅ Supports logging to CLI, Files, and custom logic for other services like LogStash
71+
- ✅ Cross-state variable access across multiple runspaces
72+
- ✅ Restart the server via file monitoring, or defined periods/times
73+
- ✅ Ability to allow/deny requests from certain IP addresses and subnets
74+
- ✅ Basic rate limiting for IP addresses and subnets
75+
- ✅ Middleware and Sessions on web servers, with Flash message and CSRF support
76+
- ✅ Authentication on requests, such as Basic, Windows and Azure AD
77+
- ✅ Authorisation support on requests, using Roles, Groups, Scopes, etc.
78+
- ✅ Enhanced authentication support, including Basic, Bearer (with JWT), Certificate, Digest, Form, OAuth2, and ApiKey (with JWT).
79+
- ✅ Support for dynamically building Routes from Functions and Modules
80+
- ✅ Generate/bind self-signed certificates
81+
- ✅ Secret management support to load secrets from vaults
82+
- ✅ Support for File Watchers
83+
- ✅ In-memory caching, with optional support for external providers (such as Redis)
84+
- ✅ (Windows) Open the hosted server as a desktop application
85+
- ✅ FileBrowsing support
86+
- ✅ Localization (i18n) in Arabic, German, Spanish, France, Italian, Japanese, Korean, Polish, Portuguese,Dutch and Chinese
8687

8788
## 📦 Install
8889

Version.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"Prerelease": "alpha.4",
3+
"Version": "7.23.0"
4+
}

docs/Getting-Started/Migrating/0X-to-1X.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ Request and Error logging are inbuilt logging types that can be enabled using [`
154154
| [`Disable-PodeRequestLogging`](../../../Functions/Logging/Disable-PodeRequestLogging) |
155155
| [`Disable-PodeErrorLogging`](../../../Functions/Logging/Disable-PodeErrorLogging) |
156156
| [`Remove-PodeLogger`](../../../Functions/Logging/Remove-PodeLogger) |
157-
| [`Clear-PodeLoggers`](../../../Functions/Logging/Clear-PodeLoggers) |
157+
| [`Clear-PodeLogger`](../../../Functions/Logging/Clear-PodeLogger) |
158158

159159
### Writing Logs
160160

0 commit comments

Comments
 (0)