Skip to content

Owanesh/go-ansa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GO meets Ansa

Dependencies

Package github.com/julienschmidt/httprouter is used for request routing.

go get https://github.com/julienschmidt/httprouter

Run application

go run cmd/server/main.go

And then make a request to http://localhost:8080/channels/Homepage, where Homepage is an example topic. You should be able to get an xml response corresponding to the RSS channel.

Documentation

godoc -http=:6060

Go to http://localhost:6060/pkg/github.com/Owanesh/go-ansa/

Explanation

The application is divided in several parts.

On the top level, pkg is where your source code resides, and cmd where your main.go goes.

Inside fetching package there is the logic related to business domain of fetching an RSS. There is nothing really inside this layer, only the models, because the app is very simple. But as apps grow, logic tends to grow here.

Inside http goes the http handler of the requests. Here you interact with the http request in terms of path params, query params, http status response code, etc.

Inside storage goes the logic to actually retrieve the information from the database or from another API. I've hardcoded the urls for simplicity.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–„
β–‘β–„β–„β–„β–„β–„β–„β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–„β–„β–„β–„β–„β–‘β–‘β–ˆβ–„
β–‘β–€β–€β–€β–€β–€β–ˆβ–ˆβ–ˆβ–„β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–„β–ˆβ–ˆβ–ˆβ–€β–€β–€β–€β–‘β–‘β–‘β–ˆβ–„   This repository is
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆ   totally useless! (or maybe not)
β–‘β–„β–€β–€β–€β–€β–€β–„β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–„β–€β–€β–€β–€β–€β–„β–‘β–‘β–‘β–‘β–ˆ   
β–ˆβ–„β–ˆβ–ˆβ–ˆβ–ˆβ–„β–‘β–€β–„β–‘β–‘β–‘β–‘β–‘β–‘β–„β–ˆβ–‘β–„β–ˆβ–ˆβ–ˆβ–ˆβ–„β–€β–„β–‘β–‘β–ˆβ–„  But i use it
β–ˆβ–ˆβ–ˆβ–ˆβ–€β–€β–ˆβ–ˆβ–‘β–€β–„β–‘β–‘β–‘β–‘β–„β–€β–„β–ˆβ–ˆβ–€β–ˆβ–„β–„β–ˆβ–‘β–ˆβ–„β–‘β–‘β–ˆ   to learn Golang 
β–ˆβ–ˆβ–€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–ˆβ–‘β–‘β–‘β–‘β–ˆβ–‘β–ˆβ–ˆβ–ˆβ–ˆβ–€β–ˆβ–€β–ˆβ–ˆβ–‘β–ˆβ–‘β–‘β–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–€β–„β–€β–ˆβ–€β–‘β–ˆβ–‘β–‘β–‘β–‘β–ˆβ–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–„β–ˆβ–ˆβ–€β–„β–€β–‘β–‘β–ˆ
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–€β–‘β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–€β–‘β–„β–€β–‘β–‘β–‘β–ˆ
β–‘β–€β–„β–„β–„β–„β–„β–€β–€β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–€β–€β–„β–„β–„β–„β–€β–€β–‘β–‘β–‘β–‘β–‘β–ˆ Have pity on me ❀️
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆ
β–‘β–‘β–“β–“β–“β–“β–“β–“β–“β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–“β–“β–“β–“β–“β–“β–“β–‘β–‘β–‘β–‘β–ˆ
β–‘β–‘β–‘β–“β–“β–“β–“β–“β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–“β–“β–“β–“β–“β–‘β–‘β–‘β–‘β–‘β–ˆ
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆ
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–€
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–„β–„β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–„β–„β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆ
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–€
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–€β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–€
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–€
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–€

Releases

No releases published

Packages

No packages published

Languages