Pode

Pode is a Cross-Platform PowerShell web framework for creating REST APIs, Web Sites, and TCP/SMTP servers

OTHER License

Stars
780
Committers
25

Bot releases are visible (Hide)

Pode - Pode v0.22.0

Published by Badgerati almost 6 years ago

Checksum: 8AAD2486F4F802D9835C16B484C095D80B1E5D470990C2876F84363E53B56723

Enhancements

  • #123: Ability to remove a route
  • #124: Views, Public and custom static routes now use New-PSDrive to prevent directory tranversing
  • #128: Ability to listen using a host name
  • #130: auth now allows re-using inbuilt/custom parsers. Rather than name the type, the name is now any custom name you want to use and yuo specify the -type (like basic, etc). If no -type supplied, name is used as the type instead
  • #131: There's now a route parameter on middleware, so you can define global middleware that only run on requests for specific routes.
Pode - Pode v0.21.0

Published by Badgerati almost 6 years ago

Checksum: 193C230D81ACC476E288CA47744F96C79FDA1EAFE6356190CE1DAF4CD9A7154C

Enhancements

  • #110: Return a 401 for inaccessible files
  • #116: Support on custom static content, for returning index.html or default.html (plus others), if a directory is requested

Bugs

  • #111: Separate out the service server type into own runspace
  • #112: Server should return a 500 if middleware/route fails unexpectedly, rather than a 200

Documentation

  • #120: Added examples of running scripts as Windows or Linux services here

Clean-Up

  • #118: Rename $WebSession to $WebEvent - internal references only
Pode - Pode v0.20.0

Published by Badgerati almost 6 years ago

Checksum: AE432AEC9574F23EDBB1EAF0B32B8C9FB5753FF626F1A08C632655B6356E7500

Features

  • #103: Adds support for custom static routes

Enhancements

  • #101: Adds a -Limit parameter to schedules
  • import function now supports installed modules

Documentation

  • Extended documentation for third-party template engines
  • "Building your first app" documentation

Clean-Up

  • #102: Logging converted to internal endware script
Pode - Pode v0.19.1

Published by Badgerati about 6 years ago

Checksum: 0FD76CA7A7EDECFA139E225A4068FFB1C6B69E9CC6D9E32EDF6793E2249CFBB4

#91: This release contains far better documentation for Pode: https://badgerati.github.io/Pode

Enhancements

  • #93: Updates PowerShell Docker image to 6.1.0, so internal restarts now work
  • #96: Chocolatey package now contains the module, rather than downloading from GitHub
  • Adds more aliases for parameters on core functions
  • Renames script function to import (the former is still supported)
  • New CI builder: Travis CI, used to test Pode on *nix and PowerShell Core
  • Minor miscellaneous stability fixes
Pode - Pode v0.19.0

Published by Badgerati about 6 years ago

Checksum: 5BC34683CD8BCB49C8DC1870A7062773636D97AC1C28682FCD4DAEE1E649963B

Features

  • #84: Session cookie support, with in-mem/custom data storage
  • #86: Request authentication support; currently implemented: Basic, Forms, Custom

Enhancements

  • #88: Enabling Ctrl+R to be pressed on the CLI to trigger a server restart - similar to using -FileMonitor
Pode - Pode v0.18.0

Published by Badgerati about 6 years ago

Checksum: E6CD618962E136F6CFAE889B03972F1BC63A7FF9BC9484C027E26BCB681D2B47

Features

  • #78: Middleware support for web servers, allowing custom logic and extension modules on web request/responses

Misc

  • #81: Added aliases onto some of the Server parameters
Pode - Pode v0.17.0

Published by Badgerati about 6 years ago

Checksum: 68032AA8A0FFA0751510AD74C9C7976252E0644DD11BCB98332220D09EC11DB7

Features

  • #43: Ability to generate self-signed certificates, and bind those certs - or pre-installed certs - when using HTTPS
  • #71: New scripts call to specify external modules that should be imported into each runspace

Bugs

  • #71: Unable to access functions from external scripts
  • #73: Calling pode start fails to import Pode module into runspaces
Pode - Pode v0.16.0

Published by Badgerati about 6 years ago

Checksum: B113A6C74004F82D6EFB8DAEA9DA24F495B41B81DE55C1257EC73A6C53B50294

Features

  • #66: Support for basic rate limiting of requests per x seconds from IPs
  • #68: Support for scheduled tasks using cron expressions

Enhancements

  • #62: Helper function to ease URL redirection
  • #64: Have a '*' HTTP method so a route can be used on every method
Pode - Pode v0.15.0

Published by Badgerati over 6 years ago

Checksum: 051A67FDCD8DA87BCB1A39613C23CE6C84AC3AB2A8C5B56519EDB1FF816902ED

Features

  • #31: Support for multithreaded responses on web, smtp and tcp servers using -Threads on your Server block

Misc

  • #59: Removal of obsolete functions, such as the older Write-JsonResponse which is now just Json
  • #31: Addition of some minor performance tests using k6
  • Addition of new icon and logo for Pode
Pode - Pode v0.14.0

Published by Badgerati over 6 years ago

Checksum: 31B42DF4E91321A8FC07D8F6189FF4F0AB9271F23820772D0AF99587795B0AFB

Features

  • #21: Ability for Pode to Internally Restart when a File Change is Detected
  • #52: Support for Allowing/Denying IP and Subnet Addresses

Enhancements

  • #44: Setup Unit Tests with Pester and run on AppVeyor

Bugs

  • #51: Set Dockerfile to use a fixed version of the PowerShell container, rather than latest
  • #55: Setup SMTP/TCP listeners to run in separate runspace like Web
Pode - Pode v0.13.0

Published by Badgerati over 6 years ago

Checksum: 10EB8C74B89AA0575C7123B0FEC1FC636F7A1373CE215D85B41FC4FB0A62F3FA

Features

  • #40: Ability to add variables to a shared state, so you can re-use variables in timers, loggers, and routes
Pode - Pode v0.12.0

Published by Badgerati over 6 years ago

Checksum: 92A37F97149E9AC166C14B44CC6A1F804110D27767479956C38511F28A7A94DA

Features

  • #33: Support for logging to the terminal, files, and custom loggers for LogStash/Fluentd/etc
  • #35: New Attach function to help attach files from the public directory to the response for downloading

Enhancements

  • #32: Ability to listen on a specific IP address using -IP on a Server
  • #36: Support for relative paths on views/public content, when running server script from non-root directory
Pode - Pode v0.11.3

Published by Badgerati over 6 years ago

Checksum: 2C363B3449D3FA76495A29A9FD689D17F2C63D27F915B90CEC1C8AACB7984D39

Bugs and Enhancements

  • #22: Proper fix for high CPU usage, by using Task.Wait with CancellationTokens; A Runspace is setup to monitor for key presses, and on Ctrl+C will Cancel() the token and terminate Pode
Pode - Pode v0.11.2

Published by Badgerati over 6 years ago

Checksum: D89B49A2E28CE9A6FA8FADE5A2820D113C1F337C17371CC566A2624C062DFEB5

Bugs

  • #22: Hot fix patch for reducing high CPU usage when idle
Pode - Pode v0.11.1

Published by Badgerati over 6 years ago

Checksum: F92BFC303CB61F739F8812BBB47E91691B7CE05AB2579AEECA91C7632F481F9E

Bugs

  • #16: Status and Include functions were missing from module export list
Pode - Pode v0.11.0

Published by Badgerati over 6 years ago

Checksum: 7EA554394036B4AF79E3FF39698C8105380EC01704AD96C5E79E5F92E0FA4764

Features

  • #5: Async timers to run tasks and processes in a separate thread (see timers sections in README)

Enhancements

  • #7: New status function to easily alter the StatusCode of a Response
  • #8: New json, xml, html, csv, view and tcp functions to replace current "Write-Response" - now obsolete - functions (see ticket for explanation, and README for usage)

Bugs

  • #12: Fixed an issue that caused image files (and others) to not render appropriately
Pode - Pode v0.10.1

Published by Badgerati over 6 years ago

Checksum: C2798BFA725B15A8FA8B52DC53CC8633D83EE627BFE43A2D95EB7DDB6B10CEFA

This is a hot fix release for a hard-coded version in the module's PSD1 file.

Pode - Pode v0.10.0

Published by Badgerati over 6 years ago

Checksum: C6918E91089CCB46D94B04B30327D0AA88E4B100B812A1B52B69A73158E66E61

Features

  • Adds Unix support
  • Adds Docker support
  • Ability to create Server as an Interval - so you can loop logic every 30 seconds, for example
  • Includes the Query string on the $session object passed to routes
  • Ability to have parameters in routes, ie: /api/accounts/:accountId, which can be referenced via: $session.Data['accountId']
  • Support for package.json files, and support for commands similar to node. ie: pode init, pode start, pode install (see README)
  • Rename of PSHTML to .pode files, to support multiple file types (see README)
  • New function include to import other files into pode files
  • Support for third-party view engines, should as EPS
  • JSON/XML responses are now compressed
  • Rename of Add-PodeRoute to just route, and Set-PodeViewEngine to just engine
Pode - Pode v0.9.0

Published by Badgerati almost 7 years ago

Initial release of Pode.

Pode is a PowerShell framework that runs HTTP/TCP listeners on a specific port, allowing you to host REST APIs, Web Pages and SMTP/TCP servers via PowerShell. It also allows you to render dynamic HTML using PSHTML files.

Features

  • Host REST APIs and Web Pages
  • Run TCP listeners
  • Host SMTP servers - great for tests and mocking
  • Use the full power of PowerShell, want a REST API for NUnit? Go for it!
  • Ability to write dynamic webpages in PowerShell using PSHTML
Pode - Pode v0.1.0

Published by Badgerati almost 7 years ago

Pre-release for testing

Package Rankings
Top 8.17% on Proxy.golang.org
Badges
Extracted from project README
MIT licensed Documentation GitHub Actions Code Coverage Discord Chocolatey PowerShell Docker GitHub Sponsors Ko-fi PayPal