Skip to content

Commit

Permalink
chore: split state to independent files
Browse files Browse the repository at this point in the history
  • Loading branch information
soulteary committed Nov 19, 2022
1 parent c22d498 commit f489edf
Show file tree
Hide file tree
Showing 13 changed files with 290 additions and 182 deletions.
4 changes: 1 addition & 3 deletions internal/server/internal.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@ const LABEL_NO_VALID_VALUE = "N/A"

func RenderInternalUrls(url string) (string, int) {
switch GetInternalResType(url) {
case TYPE_NOT_FOUND:
return "Not Found", http.StatusNotFound
case TYPE_HOME:
cacheSizeLabel := LABEL_NO_VALID_VALUE
// TODO: use configuration
Expand Down Expand Up @@ -83,5 +81,5 @@ func RenderInternalUrls(url string) (string, int) {
case TYPE_PING:
return "pong", http.StatusOK
}
return "unknown type resource", http.StatusNotFound
return "Not Found", http.StatusNotFound
}
38 changes: 38 additions & 0 deletions internal/state/alpine.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package state

import (
"net/url"

Define "github.com/soulteary/apt-proxy/internal/define"
Mirrors "github.com/soulteary/apt-proxy/internal/mirrors"
)

var ALPINE_MIRROR *url.URL

func SetAlpineMirror(input string) {
if input == "" {
CENTOS_MIRROR = nil
return
}

mirror := input
alias := Mirrors.GetMirrorURLByAliases(Define.TYPE_LINUX_DISTROS_ALPINE, input)
if alias != "" {
mirror = alias
}

url, err := url.Parse(mirror)
if err != nil {
ALPINE_MIRROR = nil
return
}
CENTOS_MIRROR = url
}

func GetAlpineMirror() *url.URL {
return CENTOS_MIRROR
}

func ResetAlpineMirror() {
CENTOS_MIRROR = nil
}
28 changes: 28 additions & 0 deletions internal/state/alpine_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package state_test

import (
"strings"
"testing"

State "github.com/soulteary/apt-proxy/internal/state"
)

func TestGetAndSetAlpineMirror(t *testing.T) {
State.SetAlpineMirror("https://mirrors.tuna.tsinghua.edu.cn/alpine/")
mirror := State.GetAlpineMirror()
if !strings.Contains(strings.ToLower(mirror.Path), "alpine") {
t.Fatal("Test Set/Get Alpine Mirror Value Faild")
}

State.SetAlpineMirror("")
mirror = State.GetAlpineMirror()
if mirror != nil {
t.Fatal("Test Set/Get Alpine Mirror to Null Faild")
}

State.ResetAlpineMirror()
mirror = State.GetAlpineMirror()
if mirror != nil {
t.Fatal("Test Clear Alpine Mirror Faild")
}
}
38 changes: 38 additions & 0 deletions internal/state/centos.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package state

import (
"net/url"

Define "github.com/soulteary/apt-proxy/internal/define"
Mirrors "github.com/soulteary/apt-proxy/internal/mirrors"
)

var CENTOS_MIRROR *url.URL

func SetCentOSMirror(input string) {
if input == "" {
CENTOS_MIRROR = nil
return
}

mirror := input
alias := Mirrors.GetMirrorURLByAliases(Define.TYPE_LINUX_DISTROS_CENTOS, input)
if alias != "" {
mirror = alias
}

url, err := url.Parse(mirror)
if err != nil {
CENTOS_MIRROR = nil
return
}
CENTOS_MIRROR = url
}

func GetCentOSMirror() *url.URL {
return CENTOS_MIRROR
}

func ResetCentOSMirror() {
CENTOS_MIRROR = nil
}
28 changes: 28 additions & 0 deletions internal/state/centos_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package state_test

import (
"strings"
"testing"

State "github.com/soulteary/apt-proxy/internal/state"
)

func TestGetAndSetCentOSMirror(t *testing.T) {
State.SetCentOSMirror("https://mirrors.tuna.tsinghua.edu.cn/centos/")
mirror := State.GetCentOSMirror()
if !strings.Contains(strings.ToLower(mirror.Path), "centos") {
t.Fatal("Test Set/Get CentOS Mirror Value Faild")
}

State.SetCentOSMirror("")
mirror = State.GetCentOSMirror()
if mirror != nil {
t.Fatal("Test Set/Get CentOS Mirror to Null Faild")
}

State.ResetCentOSMirror()
mirror = State.GetCentOSMirror()
if mirror != nil {
t.Fatal("Test Clear CentOS Mirror Faild")
}
}
38 changes: 38 additions & 0 deletions internal/state/debian.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package state

import (
"net/url"

Define "github.com/soulteary/apt-proxy/internal/define"
Mirrors "github.com/soulteary/apt-proxy/internal/mirrors"
)

var DEBIAN_MIRROR *url.URL

func SetDebianMirror(input string) {
if input == "" {
DEBIAN_MIRROR = nil
return
}

mirror := input
alias := Mirrors.GetMirrorURLByAliases(Define.TYPE_LINUX_DISTROS_DEBIAN, input)
if alias != "" {
mirror = alias
}

url, err := url.Parse(mirror)
if err != nil {
DEBIAN_MIRROR = nil
return
}
DEBIAN_MIRROR = url
}

func GetDebianMirror() *url.URL {
return DEBIAN_MIRROR
}

func ResetDebianMirror() {
DEBIAN_MIRROR = nil
}
28 changes: 28 additions & 0 deletions internal/state/debian_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package state_test

import (
"strings"
"testing"

State "github.com/soulteary/apt-proxy/internal/state"
)

func TestGetAndSetDebianMirror(t *testing.T) {
State.SetDebianMirror("https://mirrors.tuna.tsinghua.edu.cn/debian/")
mirror := State.GetDebianMirror()
if !strings.Contains(mirror.Path, "debian") {
t.Fatal("Test Set/Get Debian Mirror Value Faild")
}

State.SetDebianMirror("")
mirror = State.GetDebianMirror()
if mirror != nil {
t.Fatal("Test Set/Get Debian Mirror to Null Faild")
}

State.ResetDebianMirror()
mirror = State.GetDebianMirror()
if mirror != nil {
t.Fatal("Test Clear Debian Mirror Faild")
}
}
11 changes: 11 additions & 0 deletions internal/state/global.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package state

var PROXY_MODE = 0

func SetProxyMode(mode int) {
PROXY_MODE = mode
}

func GetProxyMode() int {
return PROXY_MODE
}
14 changes: 14 additions & 0 deletions internal/state/global_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package state

import (
"testing"

Define "github.com/soulteary/apt-proxy/internal/define"
)

func TestSetProxyMode(t *testing.T) {
SetProxyMode(Define.TYPE_LINUX_ALL_DISTROS)
if GetProxyMode() != Define.TYPE_LINUX_ALL_DISTROS {
t.Fatal("Test Set/Get ProxyMode Faild")
}
}
105 changes: 0 additions & 105 deletions internal/state/state.go

This file was deleted.

Loading

0 comments on commit f489edf

Please sign in to comment.