|
| 1 | +# Examples |
| 2 | + |
| 3 | +This folder provides easy to understand code snippets on how to get started with web development with the Go programming language using the [Siris](https://github.com/go-siris/siris) web framework. |
| 4 | + |
| 5 | +It doesn't contains "best ways" neither explains all its features. It's just a simple, practical cookbook for young Gophers! |
| 6 | + |
| 7 | +## Table of contents |
| 8 | + |
| 9 | +* [Level: Beginner](beginner) |
| 10 | + * [Hello world](beginner/hello-world/main.go) |
| 11 | + * [Overview](beginner/overview/main.go) |
| 12 | + * [Listening](beginner/listening) |
| 13 | + * [Common, with address](beginner/listening/listen-addr/main.go) |
| 14 | + * [UNIX socket file](beginner/listening/listen-unix/main.go) |
| 15 | + * [TLS](beginner/listening/listen-tls/main.go) |
| 16 | + * [Letsencrypt (Automatic Certifications)](beginner/listening/listen-letsencrypt/main.go) |
| 17 | + * [Custom TCP Listener](beginner/listening/custom-listener/main.go) |
| 18 | + * [Configuration](beginner/configuration) |
| 19 | + * [Basic way](beginner/configuration/basic/main.go) |
| 20 | + * [Functional way](beginner/configuration/functional/main.go) |
| 21 | + * [Import from YAML file](beginner/configuration/from-yaml-file/main.go) |
| 22 | + * [Import from TOML file](beginner/configuration/from-toml-file/main.go) |
| 23 | + * [Routing](beginner/routing) |
| 24 | + * [Overview](beginner/routing/overview/main.go) |
| 25 | + * [Basic](beginner/routing/basic/main.go) |
| 26 | + * [Dynamic Path](beginner/routing/dynamic-path/main.go) |
| 27 | + * [Reverse routing](beginner/routing/reverse/main.go) |
| 28 | + * [Custom wrapper](beginner/routing/custom-wrapper/main.go) |
| 29 | + * [Transform any third-party handler to siris-compatible handler](beginner/convert-handlers) |
| 30 | + * [From func(http.ResponseWriter, *http.Request, http.HandlerFunc)](beginner/convert-handlers/negroni-like/main.go) |
| 31 | + * [From http.Handler or http.HandlerFunc](beginner/convert-handlers/nethttp/main.go) |
| 32 | + * [Internal Application File Logger](beginner/file-logger/main.go) |
| 33 | + * [Custom HTTP Errors](beginner/http-errors/main.go) |
| 34 | + * [Write JSON](beginner/write-json/main.go) |
| 35 | + * [Read JSON](beginner/read-json/main.go) |
| 36 | + * [Read Form](beginner/read-form/main.go) |
| 37 | + * [Favicon](beginner/favicon/main.go) |
| 38 | + * [File Server](beginner/file-server) |
| 39 | + * [Basic](beginner/file-server/basic/main.go) |
| 40 | + * [Embedding Files Into App Executable File](beginner/file-server/embedding-files-into-app/main.go) |
| 41 | + * [Single Page Application](beginner/file-server/single-page-application/main.go) |
| 42 | + * [Embedding Single Page Application](beginner/file-server/embedding-single-page-application/main.go) |
| 43 | + * [Send Files](beginner/send-files/main.go) |
| 44 | + * [Stream Writer](beginner/stream-writer/main.go) |
| 45 | + * [Send An E-mail](beginner/e-mail/main.go) |
| 46 | + * [Upload/Read Files](beginner/upload-files/main.go) |
| 47 | + * [Recovery](beginner/recover/main.go) |
| 48 | + * [Profiling (pprof)](beginner/pprof/main.go) |
| 49 | + * [Request Logger](beginner/request-logger/main.go) |
| 50 | + * [Basic Authentication](beginner/basicauth/main.go) |
| 51 | +* [Level: Intermediate](intermediate) |
| 52 | + * [JWT](https://github.com/iris-contrib/middleware/blob/master/jwt/_example/main.go) |
| 53 | + * [OAUth2](intermediate/oauth2/main.go) |
| 54 | + * [CORS](https://github.com/iris-contrib/middleware/blob/master/cors/_example/main.go) |
| 55 | + * [Transactions](intermediate/transactions/main.go) |
| 56 | + * [HTTP Testing](intermediate/httptest/main_test.go) |
| 57 | + * [Watch & Compile Typescript source files](intermediate/typescript/main.go) |
| 58 | + * [Cloud Editor](intermediate/cloud-editor/main.go) |
| 59 | + * [HTTP Access Control](intermediate/cors/main.go) |
| 60 | + * [Cache Markdown](intermediate/cache-markdown/main.go) |
| 61 | + * [Localization and Internationalization](intermediate/i18n/main.go) |
| 62 | + * [Graceful Shutdown](intermediate/graceful-shutdown) |
| 63 | + * [Basic and simple](intermediate/graceful-shutdown/basic/main.go) |
| 64 | + * [Custom Host](intermediate/graceful-shutdown/custom-host/main.go) |
| 65 | + * [Custom notifier](intermediate/graceful-shutdown/custom-notifier/main.go) |
| 66 | + * [Custom HTTP Server](intermediate/custom-httpserver) |
| 67 | + * [Iris way](intermediate/custom-httpserver/iris-way/main.go) |
| 68 | + * [Standar way](intermediate/custom-httpserver/std-way/main.go) |
| 69 | + * [More than one server](intermediate/custom-httpserver/multi/main.go) |
| 70 | + * [Custom Context](intermediate/custom-context) |
| 71 | + * [Method Overriding](intermediate/custom-context/method-overriding/main.go) |
| 72 | + * [Route State](intermediate/route-state/main.go) |
| 73 | + * [View Engine](intermediate/view) |
| 74 | + * [Overview](intermediate/view/overview/main.go) |
| 75 | + * [Hi](intermediate/view/template_html_0/main.go) |
| 76 | + * [Showcase one simple Layout](intermediate/view/template_html_1/main.go) |
| 77 | + * [Layouts `yield` and `render` tmpl funcs](intermediate/view/template_html_2/main.go) |
| 78 | + * [Showcase of the `urlpath` tmpl func](intermediate/view/template_html_3/main.go) |
| 79 | + * [Showcase of the `url` tmpl func](intermediate/view/template_html_4/main.go) |
| 80 | + * [Inject Data Between Handlers](intermediate/view/context-view-data/main.go) |
| 81 | + * [Embedding Templates Into App Executable File](intermediate/view/embedding-templates-into-app/main.go) |
| 82 | + * [Sessions](intermediate/sessions) |
| 83 | + * [Overview](intermediate/sessions/overview/main.go) |
| 84 | + * [Encoding & Decoding the Session ID: Secure Cookie](intermediate/sessions/securecookie/main.go) |
| 85 | + * [Standalone](intermediate/sessions/standalone/main.go) |
| 86 | + * [Flash Messages](intermediate/sessions/flash-messages/main.go) |
| 87 | + * [With A Back-End Database](intermediate/sessions/database/main.go) |
| 88 | + * [Password Hashing](intermediate/sessions/password-hashing/main.go) |
| 89 | + * [Websockets](intermediate/websockets) |
| 90 | + * [Ridiculous Simple](intermediate/websockets/ridiculous-simple/main.go) |
| 91 | + * [Overview](intermediate/websockets/overview/main.go) |
| 92 | + * [Connection List](intermediate/websockets/connectionlist/main.go) |
| 93 | + * [Native Messages](intermediate/websockets/native-messages/main.go) |
| 94 | + * [Secure](intermediate/websockets/secure/main.go) |
| 95 | + * [Custom Go Client](intermediate/websockets/custom-go-client/main.go) |
| 96 | + * [Subdomains](intermediate/subdomains) |
| 97 | + * [Single](intermediate/subdomains/single/main.go) |
| 98 | + * [Multi](intermediate/subdomains/multi/main.go) |
| 99 | + * [Wildcard](intermediate/subdomains/wildcard/main.go) |
| 100 | + * [WWW](intermediate/subdomains/www/main.go) |
| 101 | +* [Level: Advanced](advanced) |
| 102 | + * [Online Visitors](advanced/online-visitors/main.go) |
| 103 | + * [URL Shortener using BoltDB](advanced/url-shortener/main.go) |
| 104 | + |
| 105 | + |
| 106 | +You may want to check out examples for jwt, cors and the rest of community-maden middleware by clicking [here](https://github.com/iris-contrib/middleware) |
| 107 | + |
| 108 | +> Do not forget to [star or watch the project](https://github.com/go-siris/siris/stargazers) in order to stay updated with the latest tech trends, it takes some seconds for the sake of go! |
| 109 | +
|
| 110 | +> Developers should read the official [documentation](https://godoc.org/github.com/go-siris/siris) in depth, for deep understanding. |
0 commit comments