Git Product home page Git Product logo

flancy's Introduction

Flancy - A web microframework for Windows PowerShell

Flancy comes from combing Flask (python web microframework) and Nancy (the .NET microframework libraries used by this module). Flask + Nancy = Flancy!

What is PowerShell?

An interpreted language created by Microsoft that is built on and taps into the .NET framework.

Why?

PowerShell is a development language and one day it will be treated as such. Alternatively, even as a non-dev automation language for sysadmins, often times a sysadmin just wants to expose PowerShell commands as easily as possible through a web request. The aim of this project is to provide the easiest possible way to spin up an in-code web server that can be backed by PowerShell.

Getting Started

The example script is the best way to start. Writing a web server is sooooo ridiculously easy. Here's the meat of how it's done:

$url = "http://localhost:8001"

new-flancy -url $url -webschema @(
    @{
        path   = '/'
        method = 'Get' #currently case sensitive
        script = { "Welcome to Flancy!" }
    },@{
        path   = '/processes'
        method = 'Get' #currently case sensitive
        script = { 
            $processes = Get-Process
            $processes |select name, id |convertto-json
        }
    }
)

One thing to note: Because of the way that Nancy works, I cannot create new custom types on subsequent New-Flancy requests. This means that in order to make a change to your service, you'll need to restart your PowerShell session. Another option is to start them in jobs in order to get clean sessions without restarting.

What's Next

A ton - I know there's a ton of bugs and things to think about. Start logging issues and feel free to contribute (including writing tests) via pull request. I have to figure out ways to handle posts, puts, deal with aut, etc.

flancy's People

Contributors

adamdriscoll avatar toenuff avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.