{"id":17888102,"url":"https://github.com/fireflycons/powershellrest","last_synced_at":"2025-07-06T16:38:48.858Z","repository":{"id":96974364,"uuid":"164294398","full_name":"fireflycons/PowerShellRest","owner":"fireflycons","description":"A RESTful server written in pure PowerShell","archived":false,"fork":false,"pushed_at":"2021-08-03T04:29:51.000Z","size":74,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-03T02:42:26.594Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fireflycons.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-06T09:50:45.000Z","updated_at":"2023-12-30T11:08:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"91f383ce-6c37-43cd-8cf6-4adac0fb7645","html_url":"https://github.com/fireflycons/PowerShellRest","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/fireflycons/PowerShellRest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireflycons%2FPowerShellRest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireflycons%2FPowerShellRest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireflycons%2FPowerShellRest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireflycons%2FPowerShellRest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fireflycons","download_url":"https://codeload.github.com/fireflycons/PowerShellRest/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireflycons%2FPowerShellRest/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263937915,"owners_count":23532805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-28T13:36:33.685Z","updated_at":"2025-07-06T16:38:48.834Z","avatar_url":"https://github.com/fireflycons.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build status](https://ci.appveyor.com/api/projects/status/fweuumbkxs0r79um/branch/master?svg=true)](https://ci.appveyor.com/project/fireflycons/powershellrest)\n\n![PowerShell Gallery](https://img.shields.io/powershellgallery/v/PowerShellRest)\n\n# PowerShellRest\n\nA RESTful server written in pure PowerShell.\n\n## Intended Use\n\nI developed this primarily as a data source for building internal dashboards, the idea being that you can quickly knock up a set of scripts containing PowerShell classes that can export JSON data to be consumed by an internal web site.\n\nIt is also an exercise in writing an HTTP server from the ground-up, and use of classes, attributes and multithreading in PowerShell.\n\n## What it isn't\n\nThis implemenation contains no security features!\n\nIt currently does not support any of the following, therefore is not suitable for use as an internet-facing API server.\n\n* Authentication\n* Native HTTPS endpoints\n* CORS - All CORS requests will be allowed.\n\nIt could possibly be hidden behind a commercial API gateway to provide these features.\n\n# Example Usage\n\n## Start the server\n\nThis will start the server using the controller classes used by the Pester tests. It assumes you are in the directory into which you've cloned this repo, and that you installed the module from PSGallery\n\nOpen a PowerShell prompt and run the following\n\n```powershell\nImport-Module PowerShellRest\nStart-RestServer -Port 8080 -ClassPath Tests/Controllers/MainTests -Service\n```\n\n## Run API calls\n\nWait for the service to print a message to say it has started, then open another PowerShell prompt.  The third call to return running operating system processes assumes you're running on Windows.\n\n```powershell\nInvoke-RestMethod http://localhost:8080/customer\nInvoke-RestMethod http://localhost:8080/customer/1\nInvoke-RestMethod \"http://localhost:8080/process/$env:COMPUTERNAME\"\n```\n\nTo stop the server, run this\n\n```powershell\nInvoke-Restmethod http://localhost:8080/exception/kill\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireflycons%2Fpowershellrest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffireflycons%2Fpowershellrest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireflycons%2Fpowershellrest/lists"}