restui ============ RestStudio (name in progress) Introduction: ------------- * Create user free token based session, where we can setup history store Rest calls * While saving the configurations we generate new versions instead of replacing content * Any user can access and setup endpoints/history * Provide a test output area and code editor to write json body Server: golang will provide data for session, store sessions Database: mongodb or nosql database, sqllite (for easy setup in case this goes opensource) Post translator: Provide a way to setup golang text templates to translate request/responses endpoint store: while creating end points we can allow user to REST the server i.e: ``` +-------+ +-------------+ | User | | RestStudio | +-------+ +-------------+ | | | Create GET call named 'hello' | |------------------------------------------------->| | | | Save and generate ID | |------------------------------------------------->| | | | SessionId: "djEIsjaLdj" | |<-------------------------------------------------| | | | "curl http://reststudio/djElsjaLdj/hello" | |------------------------------------------------->| | | --------------------------------------\ | |-| Perform the configured call 'hello' | | | |-------------------------------------| | | | Response from GET configured with 'hello' | |<-------------------------------------------------| | | ``` Model to store requests ```go type Request struct { // common request model Method string URL string Headers map[string]string QueryParam map[string]string // It will be append to URL as http://url?key=value Body string } ```