You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
1.9 KiB

  1. package main
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "io/ioutil"
  6. "log"
  7. "net/http"
  8. "strings"
  9. )
  10. type LoginResp struct {
  11. Token string `json:"token"`
  12. User User
  13. }
  14. func signup(user User) User {
  15. var loginResp LoginResp
  16. url := config.Url + "/signup"
  17. jsonStr, err := json.Marshal(user)
  18. if err != nil {
  19. fmt.Println(err)
  20. }
  21. fmt.Println(string(jsonStr))
  22. b := strings.NewReader(string(jsonStr))
  23. req, _ := http.NewRequest("POST", url, b)
  24. req.Header.Set("Content-Type", "application/json")
  25. res, err := http.DefaultClient.Do(req)
  26. if err != nil {
  27. log.Println(err)
  28. }
  29. defer res.Body.Close()
  30. body, _ := ioutil.ReadAll(res.Body)
  31. json.Unmarshal([]byte(body), &loginResp)
  32. fmt.Println("token: " + loginResp.Token)
  33. user.Token = loginResp.Token
  34. return user
  35. }
  36. func login(user User) User {
  37. var loginResp LoginResp
  38. url := config.Url + "/login"
  39. jsonStr, err := json.Marshal(user)
  40. if err != nil {
  41. fmt.Println(err)
  42. }
  43. fmt.Println(string(jsonStr))
  44. b := strings.NewReader(string(jsonStr))
  45. req, _ := http.NewRequest("POST", url, b)
  46. req.Header.Set("Content-Type", "application/json")
  47. res, err := http.DefaultClient.Do(req)
  48. if err != nil {
  49. log.Println(err)
  50. }
  51. defer res.Body.Close()
  52. body, _ := ioutil.ReadAll(res.Body)
  53. json.Unmarshal([]byte(body), &loginResp)
  54. fmt.Println("token: " + loginResp.Token)
  55. user.Token = loginResp.Token
  56. return user
  57. }
  58. func addTravel(user User, travel Travel) (User, Travel) {
  59. var loginResp LoginResp
  60. url := config.Url + "/login"
  61. jsonStr, err := json.Marshal(user)
  62. if err != nil {
  63. fmt.Println(err)
  64. }
  65. fmt.Println(string(jsonStr))
  66. b := strings.NewReader(string(jsonStr))
  67. req, _ := http.NewRequest("POST", url, b)
  68. req.Header.Set("Content-Type", "application/json")
  69. res, err := http.DefaultClient.Do(req)
  70. if err != nil {
  71. log.Println(err)
  72. }
  73. defer res.Body.Close()
  74. body, _ := ioutil.ReadAll(res.Body)
  75. json.Unmarshal([]byte(body), &loginResp)
  76. fmt.Println("token: " + loginResp.Token)
  77. user.Token = loginResp.Token
  78. return user
  79. }