From 236041495bbb92731800a9bffa0c0d33d423c788 Mon Sep 17 00:00:00 2001
From: Steve Azzopardi <steveazz@outlook.com>
Date: Fri, 28 Sep 2018 17:13:10 +0200
Subject: [PATCH] WIP

---
 session/session.go | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/session/session.go b/session/session.go
index eb4cdbe1a..2ea3f92bf 100644
--- a/session/session.go
+++ b/session/session.go
@@ -56,8 +56,6 @@ func NewSession(logger *logrus.Entry) (*Session, error) {
 		log: logger,
 	}
 
-	sess.setMux()
-
 	return sess, nil
 }
 
@@ -84,14 +82,6 @@ func generateToken() (string, error) {
 	return token, nil
 }
 
-func (s *Session) setMux() {
-	s.Lock()
-	defer s.Unlock()
-
-	s.mux = http.NewServeMux()
-	s.mux.HandleFunc(s.Endpoint+"/exec", s.execHandler)
-}
-
 func (s *Session) execHandler(w http.ResponseWriter, r *http.Request) {
 	logger := s.log.WithField("uri", r.RequestURI)
 	logger.Debug("Exec terminal session request")
@@ -174,10 +164,17 @@ func (s *Session) closeTerminalConn(conn terminal.Conn) {
 func (s *Session) SetInteractiveTerminal(interactiveTerminal terminal.InteractiveTerminal) {
 	s.Lock()
 	defer s.Unlock()
+
 	s.interactiveTerminal = interactiveTerminal
+
+	s.mux = http.NewServeMux()
+	s.mux.HandleFunc(s.Endpoint+"/exec", s.execHandler)
 }
 
 func (s *Session) Mux() *http.ServeMux {
+	s.Lock()
+	defer s.Unlock()
+
 	return s.mux
 }
 
-- 
GitLab