Skip to content

Commit

Permalink
Add Login func
Browse files Browse the repository at this point in the history
  • Loading branch information
fabiocolacio committed Dec 7, 2018
1 parent fd3d1fd commit 794fbe1
Show file tree
Hide file tree
Showing 4 changed files with 155 additions and 3 deletions.
52 changes: 52 additions & 0 deletions api/requests.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package api

import(
"net/http"
"encoding/json"
"errors"
"bytes"
"io/ioutil"
"crypto/tls"
)

var(
host = "https://localhost:9090"

ErrLoginFailed = errors.New("Login failed.")

client = &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
},
},
}
)

func SetHost(newHost string) {
host = newHost
}

func Login(user, passwd string) ([]byte, error) {
creds := map[string]string{
"Username": user,
"Password": passwd,
}

payload, err := json.Marshal(creds)
if err != nil {
return nil, err
}

res, err := client.Post(host + "/login", "text/javascript", bytes.NewBuffer(payload))
if err != nil {
return nil, err
}
defer res.Body.Close()
jwt, err := ioutil.ReadAll(res.Body)
if err != nil {
return nil, err
}

return jwt, err
}
75 changes: 75 additions & 0 deletions gui/ui.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
package gui

import(
"github.com/gotk3/gotk3/gtk"
)

type UI struct {
Window *gtk.Window

outText *gtk.TextView
inText *gtk.TextView
}

func UINew() (*UI, error) {
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
return nil, err
}
win.SetTitle("Quicksilver")
win.SetDefaultSize(500, 500)
win.Connect("destroy", gtk.MainQuit)
win.ShowAll()

vbox, err := gtk.BoxNew(gtk.ORIENTATION_VERTICAL, 8)
if err != nil {
return nil, err
}
win.Add(vbox)

txtBuffer, err := gtk.TextBufferNew(nil)
if err != nil {
return nil, err
}

incoming, err := gtk.TextViewNewWithBuffer(txtBuffer)
if err != nil {
return nil, err
}
incoming.SetEditable(false)
incoming.SetCursorVisible(false)
incoming.SetPixelsBelowLines(5)
incoming.SetWrapMode(gtk.WRAP_WORD)

topScroll, err := gtk.ScrolledWindowNew(nil, nil)
if err != nil {
return nil, err
}
topScroll.SetPolicy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
topScroll.SetShadowType(gtk.SHADOW_IN)
topScroll.Add(incoming)
vbox.PackStart(topScroll, true, true, 0)

outgoing, err := gtk.TextViewNew()
if err != nil {
return nil, err
}
outgoing.SetSizeRequest(0, 20)
outgoing.SetAcceptsTab(false)
outgoing.SetWrapMode(gtk.WRAP_NONE)

botScroll, err := gtk.ScrolledWindowNew(nil, nil)
if err != nil {
return nil, err
}
botScroll.SetPolicy(gtk.POLICY_NEVER, gtk.POLICY_NEVER)
botScroll.SetShadowType(gtk.SHADOW_IN)
botScroll.Add(outgoing)
vbox.PackStart(botScroll, false, false, 0)

ui := &UI{
Window: win,
}

return ui, err
}
Binary file added main
Binary file not shown.
31 changes: 28 additions & 3 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,36 @@ package main

import(
"fmt"
"github.com/fabiocolacio/quicksilver/crypto"
"crypto/elliptic"
"crypto/rand"

// "github.com/fabiocolacio/quicksilver/crypto"
// "crypto/elliptic"
// "crypto/rand"

"log"
"github.com/fabiocolacio/quicksilver/gui"
"github.com/fabiocolacio/quicksilver/api"
"github.com/gotk3/gotk3/gtk"
)

func main() {
jwt, err := api.Login("fabio", "fabio")
if err != nil {
log.Fatal(err)
}
fmt.Println(string(jwt))

gtk.Init(nil)

ui, err := gui.UINew()
if err != nil {
log.Fatal(err)
}

ui.Window.ShowAll()

gtk.Main()

/*
pa, ax, ay, err := elliptic.GenerateKey(crypto.Curve, rand.Reader)
if err != nil {
fmt.Println(err)
Expand All @@ -32,4 +56,5 @@ func main() {
fmt.Println(err)
}
fmt.Println(string(clear))
*/
}

0 comments on commit 794fbe1

Please sign in to comment.