Skip to content
Snippets Groups Projects
Commit 51df4c0a authored by Kenneth Tran's avatar Kenneth Tran
Browse files

Setup handler and structs demo

parent 35683fe7
No related branches found
No related tags found
No related merge requests found
package main
import (
"net/http"
A "oblig2/packs"
// C "oblig2/packs"
"log"
"os"
)
func main(){
port := os.Getenv("PORT")
port = "8080"
if port == "" {
log.Fatal("PORT must be set")
}
A.GetCommits()
log.Fatal(http.ListenAndServe(":"+port, nil))
// B.GetIssues()
// C.GetLanguages()
}
package packs
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"strings"
"strconv"
)
const URL = "https://gitlab.example.com/api/v4/projects"
type Repo1 struct { //struct repo with most commits
Id int `json: "id"`
MostCommits string `json:"path_with_namespace"`
Counter1 nt //convert to Jsonformat
}
type Repo2 struct { // struct repo with second most commits
SecondCommits string `json:"path_with_namespace"`
Counter2 int //convert to Jsonformat
}
type MergeRep struct {
Repo1 Repo1
Repo2 Repo2
}
func GetCommits(){ // Caps on G to call from main, syntax on mac
http.HandleFunc("/repocheck/v1/commits", handlerCommits)
}
func countMost(w http.ResponseWriter, r *http.Request, pointer* []repo1 ){
for j := 0; j <= len(*pointer); j++ {
spesificPro := strconv.Itoa(*pointer[j].Id)
url := URL + spesificPro + "/repository/commits"
reponse, err := http.Get(url)
if err != nil { //error handler
fmt.Println("Error: we have a problem", err)
}
}
}
func handlerCommits(w http.ResponseWriter, r *http.Request) {
response, err := http.Get(URL)
if err != nil { //error handler
fmt.Println("Error: we have a problem", err)
}
if err2 != nil { //error handler
fmt.Println("Error: we have a problem", err2)
}
var content Repo1
var content2 Repo2
var merged MergeRep
err = json.NewDecoder(response.Body).Decode(&content)
err2 = json.NewDecoder(response2.Body).Decode(&content2)
merged.Repo1 = content
merged.Repo2 = content2
var buffer = new(bytes.Buffer)
encode := json.NewEncoder(buffer)
encode.Encode(merged)
w.Header().Set("Content-type", "application/json")
io.Copy(w, buffer)
}
\ No newline at end of file
//package packs
//func getLanguages(){
// http.HandleFunc("/x/x/x/", handlercommits)
//func handlerCommits(w http.ResponseWriter, r *http.Request) {
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment