Skip to content

Commit

Permalink
Merge pull request #10 from nmarcetic/fix/mqtt-contructor
Browse files Browse the repository at this point in the history
Merge host and port
  • Loading branch information
nmarcetic authored Mar 23, 2020
2 parents 0291884 + 1edce12 commit ce64534
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 23 deletions.
7 changes: 5 additions & 2 deletions cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,15 +121,18 @@ func loadConfig() config {
}

func proxyHTTP(cfg config, logger logger.Logger, evt mqtt.Event, errs chan error) {
wp := websocket.New(cfg.httpTargetHost, cfg.httpTargetPort, cfg.httpTargetPath, cfg.httpScheme, evt, logger)
target := fmt.Sprintf("%s:%s", cfg.httpTargetHost, cfg.httpTargetPort)
wp := websocket.New(target, cfg.httpTargetPath, cfg.httpScheme, evt, logger)
http.Handle("/mqtt", wp.Handler())

p := fmt.Sprintf(":%s", cfg.httpPort)
errs <- http.ListenAndServe(p, nil)
}

func proxyMQTT(cfg config, logger logger.Logger, evt mqtt.Event, errs chan error) {
mp := mqtt.New(cfg.mqttHost, cfg.mqttPort, cfg.mqttTargetHost, cfg.mqttTargetPort, evt, logger)
address := fmt.Sprintf("%s:%s", cfg.mqttHost, cfg.mqttPort)
target := fmt.Sprintf("%s:%s", cfg.mqttTargetHost, cfg.mqttTargetPort)
mp := mqtt.New(address, target, evt, logger)

errs <- mp.Proxy()
}
24 changes: 10 additions & 14 deletions pkg/mqtt/mqtt.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package mqtt

import (
"fmt"
"io"
"net"

Expand All @@ -11,20 +10,18 @@ import (

// Proxy is main MQTT proxy struct
type Proxy struct {
host string
port string
target string
event session.Event
logger logger.Logger
address string
target string
event session.Event
logger logger.Logger
}

func New(host, port, path, scheme string, event session.Event, logger logger.Logger) *Proxy {
func New(address, target string, event session.Event, logger logger.Logger) *Proxy {
return &Proxy{
host: host,
port: port,
target: path,
event: event,
logger: logger,
address: address,
target: target,
event: event,
logger: logger,
}
}

Expand Down Expand Up @@ -60,8 +57,7 @@ func (p Proxy) handleConnection(inbound net.Conn) {

// Proxy of the server, this will block.
func (p Proxy) Proxy() error {
addr := fmt.Sprintf("%s:%s", p.host, p.port)
l, err := net.Listen("tcp", addr)
l, err := net.Listen("tcp", p.address)
if err != nil {
return err
}
Expand Down
11 changes: 4 additions & 7 deletions pkg/websocket/websocket.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package websocket

import (
"fmt"
"net/http"
"net/url"
"time"
Expand All @@ -13,18 +12,16 @@ import (

// New - creates new HTTP proxy
type Proxy struct {
host string
port string
target string
path string
scheme string
event session.Event
logger logger.Logger
}

func New(host, port, path, scheme string, event session.Event, logger logger.Logger) *Proxy {
func New(target, path, scheme string, event session.Event, logger logger.Logger) *Proxy {
return &Proxy{
host: host,
port: port,
target: target,
path: path,
scheme: scheme,
event: event,
Expand Down Expand Up @@ -66,7 +63,7 @@ func (p Proxy) pass(in *websocket.Conn) {

url := url.URL{
Scheme: p.scheme,
Host: fmt.Sprintf("%s:%s", p.host, p.port),
Host: p.target,
Path: p.path,
}

Expand Down

0 comments on commit ce64534

Please sign in to comment.