diff --git a/src/slic3r/Utils/OctoPrint.cpp b/src/slic3r/Utils/OctoPrint.cpp
index 540852af8..3824c8ed4 100644
--- a/src/slic3r/Utils/OctoPrint.cpp
+++ b/src/slic3r/Utils/OctoPrint.cpp
@@ -512,11 +512,8 @@ std::string OctoPrint::make_url(const std::string &path) const
     }
 }
 
-SL1Host::SL1Host(DynamicPrintConfig *config) : 
-    OctoPrint(config),
-    m_authorization_type(dynamic_cast<const ConfigOptionEnum<AuthorizationType>*>(config->option("printhost_authorization_type"))->value),
-    m_username(config->opt_string("printhost_user")),
-    m_password(config->opt_string("printhost_password"))
+SL1Host::SL1Host(DynamicPrintConfig *config)
+    : PrusaLink(config)
 {
 }
 
@@ -538,22 +535,6 @@ bool SL1Host::validate_version_text(const boost::optional<std::string> &version_
     return version_text ? boost::starts_with(*version_text, "Prusa SLA") : false;
 }
 
-void SL1Host::set_auth(Http &http) const
-{
-    switch (m_authorization_type) {
-    case atKeyPassword:
-        http.header("X-Api-Key", get_apikey());
-        break;
-    case atUserPassword:
-        http.auth_digest(m_username, m_password);
-        break;
-    }
-
-    if (! get_cafile().empty()) {
-        http.ca_file(get_cafile());
-    }
-}
-
 // PrusaLink
 PrusaLink::PrusaLink(DynamicPrintConfig* config, bool show_after_message) :
     OctoPrint(config),
diff --git a/src/slic3r/Utils/OctoPrint.hpp b/src/slic3r/Utils/OctoPrint.hpp
index 82c07f6f4..2daeab73f 100644
--- a/src/slic3r/Utils/OctoPrint.hpp
+++ b/src/slic3r/Utils/OctoPrint.hpp
@@ -55,30 +55,6 @@ private:
 #endif
 };
 
-class SL1Host: public OctoPrint
-{
-public:
-    SL1Host(DynamicPrintConfig *config);
-    ~SL1Host() override = default;
-
-    const char* get_name() const override;
-
-    wxString get_test_ok_msg() const override;
-    wxString get_test_failed_msg(wxString &msg) const override;
-    PrintHostPostUploadActions get_post_upload_actions() const override { return {}; }
-
-protected:
-    bool validate_version_text(const boost::optional<std::string> &version_text) const override;
-
-private:
-    void set_auth(Http &http) const override;
-
-    // Host authorization type.
-    AuthorizationType m_authorization_type;
-    // username and password for HTTP Digest Authentization (RFC RFC2617)
-    std::string m_username;
-    std::string m_password;
-};
 
 class PrusaLink : public OctoPrint
 {
@@ -106,6 +82,12 @@ protected:
     bool upload_inner_with_resolved_ip(PrintHostUpload upload_data, ProgressFn prorgess_fn, ErrorFn error_fn, InfoFn info_fn, const boost::asio::ip::address& resolved_addr) const override;
 #endif
 
+    // Host authorization type.
+    AuthorizationType m_authorization_type;
+    // username and password for HTTP Digest Authentization (RFC RFC2617)
+    std::string m_username;
+    std::string m_password;
+
 private:
     bool test_with_method_check(wxString& curl_msg, bool& use_put) const;
     bool put_inner(PrintHostUpload upload_data, std::string url, const std::string& name, ProgressFn prorgess_fn, ErrorFn error_fn, InfoFn info_fn) const;
@@ -113,11 +95,7 @@ private:
 #ifdef WIN32
     bool test_with_resolved_ip_and_method_check(wxString& curl_msg, bool& use_put) const;
 #endif
-    // Host authorization type.
-    AuthorizationType m_authorization_type;
-    // username and password for HTTP Digest Authentization (RFC RFC2617)
-    std::string m_username;
-    std::string m_password;
+
     bool m_show_after_message;
 
 #if 0
@@ -149,6 +127,22 @@ public:
     const char* get_name() const override { return "Mainsail/Fluidd"; }
 };
 
+class SL1Host : public PrusaLink
+{
+public:
+    SL1Host(DynamicPrintConfig* config);
+    ~SL1Host() override = default;
+
+    const char* get_name() const override;
+
+    wxString get_test_ok_msg() const override;
+    wxString get_test_failed_msg(wxString& msg) const override;
+    PrintHostPostUploadActions get_post_upload_actions() const override { return {}; }
+
+protected:
+    bool validate_version_text(const boost::optional<std::string>& version_text) const override;
+};
+
 }
 
 #endif