]> Entropealabs - wampex_client.git/commitdiff
handle errors better
authorChristopher <chris@entropealabs.com>
Wed, 1 Apr 2020 22:15:55 +0000 (17:15 -0500)
committerChristopher <chris@entropealabs.com>
Wed, 1 Apr 2020 22:15:55 +0000 (17:15 -0500)
lib/client.ex
lib/client/session.ex
mix.exs
mix.lock

index e7b2ae79b0bec6a24e599a0ef6496d5a048de10d..b9815b4fe878a1463b6b150cdb768c7dabcbab37 100644 (file)
@@ -78,6 +78,11 @@ defmodule Wampex.Client do
     sync(name, Caller.call(call), timeout)
   end
 
+  @spec error(name :: module(), error :: Error.t()) :: :ok
+  def error(name, error) do
+    sync(name, Callee.invocation_error(error))
+  end
+
   @spec publish(name :: module, event :: Publish.t()) :: :ok
   def publish(name, event) do
     cast(name, Publisher.publish(event))
index 143bba754496c202b23ef831ae42507c942a9994..8222a53525ba3083d333ef617b69d7bbd5689ac5 100644 (file)
@@ -20,6 +20,7 @@ defmodule Wampex.Client.Session do
   @yield 70
   @hello 1
   @abort 3
+  @error 8
 
   @enforce_keys [:url, :roles]
 
@@ -400,6 +401,7 @@ defmodule Wampex.Client.Session do
   defp maybe_inject_request_id(r_id, [@yield | _] = message), do: {r_id, message}
   defp maybe_inject_request_id(r_id, [@hello | _] = message), do: {r_id, message}
   defp maybe_inject_request_id(r_id, [@abort | _] = message), do: {r_id, message}
+  defp maybe_inject_request_id(r_id, [@error | _] = message), do: {r_id, message}
 
   defp maybe_inject_request_id(r_id, message) do
     request_id = get_request_id(r_id)
diff --git a/mix.exs b/mix.exs
index 2d2c415ab12723ec2388ec4fa44a1a4da368d96c..f2c6e0c98a93be5c2d00345514b641dda80571e7 100644 (file)
--- a/mix.exs
+++ b/mix.exs
@@ -47,7 +47,7 @@ defmodule Wampex.Client.MixProject do
       {:states_language, "~> 0.2"},
       {:wampex,
        git: "https://gitlab.com/entropealabs/wampex.git",
-       tag: "591a03f9ed1585942afc043fe4a73beb7641e1e3"},
+       tag: "c7bb690087f9f14832dcd4f222a8bd92154af78d"},
       {:websockex, "~> 0.4.2"}
     ]
   end
index 18203db75d3bf715323f84ac28b2f1e09874621f..09755d888718a77221b712fca1739880d94cb16b 100644 (file)
--- a/mix.lock
+++ b/mix.lock
@@ -24,7 +24,7 @@
   "states_language": {:hex, :states_language, "0.2.8", "f9dfd3c0bd9a9d7bda25ef315f2d90944cd6b2022a7f3c403deb1d4ec451825e", [:mix], [{:elixpath, "~> 0.1.0", [hex: :elixpath, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:json_xema, "~> 0.4.0", [hex: :json_xema, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:xema, "~> 0.11.0", [hex: :xema, repo: "hexpm", optional: false]}], "hexpm", "a5231691e7cb37fe32dc7de54c2dc86d1d60e84c4f0379f3246e55be2a85ec78"},
   "telemetry": {:hex, :telemetry, "0.4.1", "ae2718484892448a24470e6aa341bc847c3277bfb8d4e9289f7474d752c09c7f", [:rebar3], [], "hexpm", "4738382e36a0a9a2b6e25d67c960e40e1a2c95560b9f936d8e29de8cd858480f"},
   "unicode_util_compat": {:hex, :unicode_util_compat, "0.4.1", "d869e4c68901dd9531385bb0c8c40444ebf624e60b6962d95952775cac5e90cd", [:rebar3], [], "hexpm", "1d1848c40487cdb0b30e8ed975e34e025860c02e419cb615d255849f3427439d"},
-  "wampex": {:git, "https://gitlab.com/entropealabs/wampex.git", "591a03f9ed1585942afc043fe4a73beb7641e1e3", [tag: "591a03f9ed1585942afc043fe4a73beb7641e1e3"]},
+  "wampex": {:git, "https://gitlab.com/entropealabs/wampex.git", "c7bb690087f9f14832dcd4f222a8bd92154af78d", [tag: "c7bb690087f9f14832dcd4f222a8bd92154af78d"]},
   "websockex": {:hex, :websockex, "0.4.2", "9a3b7dc25655517ecd3f8ff7109a77fce94956096b942836cdcfbc7c86603ecc", [:mix], [], "hexpm", "803cd76e91544b56f0e655e36790be797fa6436db9224f7c303db9b9df2a3df4"},
   "xema": {:hex, :xema, "0.11.0", "7b5118418633cffc27092110d02d4faeea938149dd3f6c64299e41e747067e80", [:mix], [{:conv_case, "~> 0.2.2", [hex: :conv_case, repo: "hexpm", optional: false]}, {:decimal, "~> 1.7", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "51491c9a953d65069d4b30aa2f70bc45ff99fd1bc3345bc72ce4e644d01ea14e"},
 }