rabbitmq-tutorials/elixir/README.md
Spring Operator 5436636673 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* http://blog.listincomprehension.com/search/label/procket (200) with 1 occurrences could not be migrated:
   ([https](https://blog.listincomprehension.com/search/label/procket) result ClosedChannelException).
* http://central.maven.org/maven2/com/rabbitmq/amqp-client/4.0.2/amqp-client-4.0.2.jar (200) with 1 occurrences could not be migrated:
   ([https](https://central.maven.org/maven2/com/rabbitmq/amqp-client/4.0.2/amqp-client-4.0.2.jar) result SSLHandshakeException).
* http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar (200) with 1 occurrences could not be migrated:
   ([https](https://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar) result SSLHandshakeException).
* http://central.maven.org/maven2/org/slf4j/slf4j-simple/1.7.22/slf4j-simple-1.7.22.jar (200) with 1 occurrences could not be migrated:
   ([https](https://central.maven.org/maven2/org/slf4j/slf4j-simple/1.7.22/slf4j-simple-1.7.22.jar) result SSLHandshakeException).
* http://clojurerabbitmq.info (200) with 1 occurrences could not be migrated:
   ([https](https://clojurerabbitmq.info) result AnnotatedConnectException).
* http://dozzie.jarowit.net/trac/wiki/TOML (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/TOML) result SSLHandshakeException).
* http://dozzie.jarowit.net/trac/wiki/subproc (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/subproc) result SSLHandshakeException).
* http://e2project.org (200) with 1 occurrences could not be migrated:
   ([https](https://e2project.org) result AnnotatedConnectException).
* http://nitrogenproject.com/ (200) with 2 occurrences could not be migrated:
   ([https](https://nitrogenproject.com/) result ConnectTimeoutException).
* http://proper.softlab.ntua.gr (200) with 1 occurrences could not be migrated:
   ([https](https://proper.softlab.ntua.gr) result SSLHandshakeException).
* http://rubybunny.info (200) with 2 occurrences could not be migrated:
   ([https](https://rubybunny.info) result AnnotatedConnectException).
* http://yaws.hyber.org (200) with 1 occurrences could not be migrated:
   ([https](https://yaws.hyber.org) result AnnotatedConnectException).
* http://schemas.microsoft.com/developer/msbuild/2003 (404) with 13 occurrences could not be migrated:
   ([https](https://schemas.microsoft.com/developer/msbuild/2003) result AnnotatedConnectException).
* http://choven.ca (503) with 1 occurrences could not be migrated:
   ([https](https://choven.ca) result ConnectTimeoutException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* http://fixprotocol.org/ (301) with 1 occurrences migrated to:
  https://fixtrading.org ([https](https://fixprotocol.org/) result SSLHandshakeException).
* http://cl-rabbit.io/cl-bunny (UnknownHostException) with 2 occurrences migrated to:
  https://cl-rabbit.io/cl-bunny ([https](https://cl-rabbit.io/cl-bunny) result UnknownHostException).
* http://cl-rabbit.io/cl-bunny/tutorials/ (UnknownHostException) with 1 occurrences migrated to:
  https://cl-rabbit.io/cl-bunny/tutorials/ ([https](https://cl-rabbit.io/cl-bunny/tutorials/) result UnknownHostException).
* http://cl-rabbit.io/cl-bunny/tutorials/tutorial-five-cl.html (UnknownHostException) with 1 occurrences migrated to:
  https://cl-rabbit.io/cl-bunny/tutorials/tutorial-five-cl.html ([https](https://cl-rabbit.io/cl-bunny/tutorials/tutorial-five-cl.html) result UnknownHostException).
* http://cl-rabbit.io/cl-bunny/tutorials/tutorial-four-cl.html (UnknownHostException) with 1 occurrences migrated to:
  https://cl-rabbit.io/cl-bunny/tutorials/tutorial-four-cl.html ([https](https://cl-rabbit.io/cl-bunny/tutorials/tutorial-four-cl.html) result UnknownHostException).
* http://cl-rabbit.io/cl-bunny/tutorials/tutorial-one-cl.html (UnknownHostException) with 1 occurrences migrated to:
  https://cl-rabbit.io/cl-bunny/tutorials/tutorial-one-cl.html ([https](https://cl-rabbit.io/cl-bunny/tutorials/tutorial-one-cl.html) result UnknownHostException).
* http://cl-rabbit.io/cl-bunny/tutorials/tutorial-six-cl.html (UnknownHostException) with 1 occurrences migrated to:
  https://cl-rabbit.io/cl-bunny/tutorials/tutorial-six-cl.html ([https](https://cl-rabbit.io/cl-bunny/tutorials/tutorial-six-cl.html) result UnknownHostException).
* http://cl-rabbit.io/cl-bunny/tutorials/tutorial-three-cl.html (UnknownHostException) with 1 occurrences migrated to:
  https://cl-rabbit.io/cl-bunny/tutorials/tutorial-three-cl.html ([https](https://cl-rabbit.io/cl-bunny/tutorials/tutorial-three-cl.html) result UnknownHostException).
* http://cl-rabbit.io/cl-bunny/tutorials/tutorial-two-cl.html (UnknownHostException) with 1 occurrences migrated to:
  https://cl-rabbit.io/cl-bunny/tutorials/tutorial-two-cl.html ([https](https://cl-rabbit.io/cl-bunny/tutorials/tutorial-two-cl.html) result UnknownHostException).
* http://erldb.org (UnknownHostException) with 1 occurrences migrated to:
  https://erldb.org ([https](https://erldb.org) result UnknownHostException).
* http://hg.rabbitmq.com/rabbitmq-erlang-client/ (UnknownHostException) with 1 occurrences migrated to:
  https://hg.rabbitmq.com/rabbitmq-erlang-client/ ([https](https://hg.rabbitmq.com/rabbitmq-erlang-client/) result UnknownHostException).
* http://elixir-lang.org/docs/stable/mix/Mix.html (301) with 1 occurrences migrated to:
  https://elixir-lang.org/docs/stable/mix/Mix.html ([https](https://elixir-lang.org/docs/stable/mix/Mix.html) result 404).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://cloudi.org/ with 27 occurrences migrated to:
  https://cloudi.org/ ([https](https://cloudi.org/) result 200).
* http://docs.spring.io/spring-amqp/reference/html/ with 1 occurrences migrated to:
  https://docs.spring.io/spring-amqp/reference/html/ ([https](https://docs.spring.io/spring-amqp/reference/html/) result 200).
* http://elixir-lang.org with 1 occurrences migrated to:
  https://elixir-lang.org ([https](https://elixir-lang.org) result 200).
* http://elixir-lang.org/install.html with 1 occurrences migrated to:
  https://elixir-lang.org/install.html ([https](https://elixir-lang.org/install.html) result 200).
* http://erlware.org/ with 1 occurrences migrated to:
  https://erlware.org/ ([https](https://erlware.org/) result 200).
* http://getcomposer.org with 2 occurrences migrated to:
  https://getcomposer.org ([https](https://getcomposer.org) result 200).
* http://github.com/rabbitmq/rabbitmq-tutorials with 1 occurrences migrated to:
  https://github.com/rabbitmq/rabbitmq-tutorials ([https](https://github.com/rabbitmq/rabbitmq-tutorials) result 200).
* http://hackage.haskell.org/package/amqp with 1 occurrences migrated to:
  https://hackage.haskell.org/package/amqp ([https](https://hackage.haskell.org/package/amqp) result 200).
* http://inaka.github.io/cowboy-trails/ with 1 occurrences migrated to:
  https://inaka.github.io/cowboy-trails/ ([https](https://inaka.github.io/cowboy-trails/) result 200).
* http://leiningen.org with 1 occurrences migrated to:
  https://leiningen.org ([https](https://leiningen.org) result 200).
* http://ninenines.eu with 6 occurrences migrated to:
  https://ninenines.eu ([https](https://ninenines.eu) result 200).
* http://www.actordb.com/ with 2 occurrences migrated to:
  https://www.actordb.com/ ([https](https://www.actordb.com/) result 200).
* http://www.apple.com/DTDs/PropertyList-1.0.dtd with 10 occurrences migrated to:
  https://www.apple.com/DTDs/PropertyList-1.0.dtd ([https](https://www.apple.com/DTDs/PropertyList-1.0.dtd) result 200).
* http://www.cliki.net/fibonacci with 1 occurrences migrated to:
  https://www.cliki.net/fibonacci ([https](https://www.cliki.net/fibonacci) result 200).
* http://www.cs.kent.ac.uk/projects/wrangler/Home.html with 1 occurrences migrated to:
  https://www.cs.kent.ac.uk/projects/wrangler/Home.html ([https](https://www.cs.kent.ac.uk/projects/wrangler/Home.html) result 200).
* http://www.eclipse.org/legal/epl-v10.html with 1 occurrences migrated to:
  https://www.eclipse.org/legal/epl-v10.html ([https](https://www.eclipse.org/legal/epl-v10.html) result 200).
* http://www.rabbitmq.com/download.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/download.html ([https](https://www.rabbitmq.com/download.html) result 200).
* http://www.rabbitmq.com/erlang-client-user-guide.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/erlang-client-user-guide.html ([https](https://www.rabbitmq.com/erlang-client-user-guide.html) result 200).
* http://www.rabbitmq.com/getstarted.html with 20 occurrences migrated to:
  https://www.rabbitmq.com/getstarted.html ([https](https://www.rabbitmq.com/getstarted.html) result 200).
* http://www.rabbitmq.com/releases/rabbitmq-server/ with 1 occurrences migrated to:
  https://www.rabbitmq.com/releases/rabbitmq-server/ ([https](https://www.rabbitmq.com/releases/rabbitmq-server/) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-five-javascript.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-five-javascript.html ([https](https://www.rabbitmq.com/tutorials/tutorial-five-javascript.html) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-five-php.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-five-php.html ([https](https://www.rabbitmq.com/tutorials/tutorial-five-php.html) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-four-javascript.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-four-javascript.html ([https](https://www.rabbitmq.com/tutorials/tutorial-four-javascript.html) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-four-php.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-four-php.html ([https](https://www.rabbitmq.com/tutorials/tutorial-four-php.html) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-one-javascript.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html ([https](https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-one-php.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-one-php.html ([https](https://www.rabbitmq.com/tutorials/tutorial-one-php.html) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-six-javascript.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-six-javascript.html ([https](https://www.rabbitmq.com/tutorials/tutorial-six-javascript.html) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-six-php.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-six-php.html ([https](https://www.rabbitmq.com/tutorials/tutorial-six-php.html) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-three-javascript.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-three-javascript.html ([https](https://www.rabbitmq.com/tutorials/tutorial-three-javascript.html) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-three-php.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-three-php.html ([https](https://www.rabbitmq.com/tutorials/tutorial-three-php.html) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-two-javascript.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-two-javascript.html ([https](https://www.rabbitmq.com/tutorials/tutorial-two-javascript.html) result 200).
* http://www.rabbitmq.com/tutorials/tutorial-two-php.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials/tutorial-two-php.html ([https](https://www.rabbitmq.com/tutorials/tutorial-two-php.html) result 200).
* http://www.rebar3.org with 1 occurrences migrated to:
  https://www.rebar3.org ([https](https://www.rebar3.org) result 200).
* http://inaka.github.com/apns4erl with 1 occurrences migrated to:
  https://inaka.github.com/apns4erl ([https](https://inaka.github.com/apns4erl) result 301).
* http://inaka.github.com/edis/ with 1 occurrences migrated to:
  https://inaka.github.com/edis/ ([https](https://inaka.github.com/edis/) result 301).
* http://lasp-lang.org/ with 1 occurrences migrated to:
  https://lasp-lang.org/ ([https](https://lasp-lang.org/) result 301).
* http://rabbitmq.com/download.html with 1 occurrences migrated to:
  https://rabbitmq.com/download.html ([https](https://rabbitmq.com/download.html) result 301).
* http://saleyn.github.com/erlexec with 1 occurrences migrated to:
  https://saleyn.github.com/erlexec ([https](https://saleyn.github.com/erlexec) result 301).
* http://erlang.org/download.html (302) with 1 occurrences migrated to:
  https://www.erlang.org/download.html ([https](https://erlang.org/download.html) result 301).
* http://www.erlang.org/download/otp_src_R14B03.tar.gz with 1 occurrences migrated to:
  https://www.erlang.org/download/otp_src_R14B03.tar.gz ([https](https://www.erlang.org/download/otp_src_R14B03.tar.gz) result 301).
* http://www.rabbitmq.com/releases with 1 occurrences migrated to:
  https://www.rabbitmq.com/releases ([https](https://www.rabbitmq.com/releases) result 301).
* http://www.rabbitmq.com/tutorial-five-dotnet.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-five-dotnet.html ([https](https://www.rabbitmq.com/tutorial-five-dotnet.html) result 301).
* http://www.rabbitmq.com/tutorial-five-go.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-five-go.html ([https](https://www.rabbitmq.com/tutorial-five-go.html) result 301).
* http://www.rabbitmq.com/tutorial-five-java.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-five-java.html ([https](https://www.rabbitmq.com/tutorial-five-java.html) result 301).
* http://www.rabbitmq.com/tutorial-five-python.html with 4 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-five-python.html ([https](https://www.rabbitmq.com/tutorial-five-python.html) result 301).
* http://www.rabbitmq.com/tutorial-five-ruby.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-five-ruby.html ([https](https://www.rabbitmq.com/tutorial-five-ruby.html) result 301).
* http://www.rabbitmq.com/tutorial-four-dotnet.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-four-dotnet.html ([https](https://www.rabbitmq.com/tutorial-four-dotnet.html) result 301).
* http://www.rabbitmq.com/tutorial-four-go.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-four-go.html ([https](https://www.rabbitmq.com/tutorial-four-go.html) result 301).
* http://www.rabbitmq.com/tutorial-four-java.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-four-java.html ([https](https://www.rabbitmq.com/tutorial-four-java.html) result 301).
* http://www.rabbitmq.com/tutorial-four-python.html with 4 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-four-python.html ([https](https://www.rabbitmq.com/tutorial-four-python.html) result 301).
* http://www.rabbitmq.com/tutorial-four-ruby.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-four-ruby.html ([https](https://www.rabbitmq.com/tutorial-four-ruby.html) result 301).
* http://www.rabbitmq.com/tutorial-one-dotnet.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-one-dotnet.html ([https](https://www.rabbitmq.com/tutorial-one-dotnet.html) result 301).
* http://www.rabbitmq.com/tutorial-one-go.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-one-go.html ([https](https://www.rabbitmq.com/tutorial-one-go.html) result 301).
* http://www.rabbitmq.com/tutorial-one-java.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-one-java.html ([https](https://www.rabbitmq.com/tutorial-one-java.html) result 301).
* http://www.rabbitmq.com/tutorial-one-python.html with 4 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-one-python.html ([https](https://www.rabbitmq.com/tutorial-one-python.html) result 301).
* http://www.rabbitmq.com/tutorial-one-ruby.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-one-ruby.html ([https](https://www.rabbitmq.com/tutorial-one-ruby.html) result 301).
* http://www.rabbitmq.com/tutorial-six-dotnet.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-six-dotnet.html ([https](https://www.rabbitmq.com/tutorial-six-dotnet.html) result 301).
* http://www.rabbitmq.com/tutorial-six-go.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-six-go.html ([https](https://www.rabbitmq.com/tutorial-six-go.html) result 301).
* http://www.rabbitmq.com/tutorial-six-java.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-six-java.html ([https](https://www.rabbitmq.com/tutorial-six-java.html) result 301).
* http://www.rabbitmq.com/tutorial-six-python.html with 3 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-six-python.html ([https](https://www.rabbitmq.com/tutorial-six-python.html) result 301).
* http://www.rabbitmq.com/tutorial-six-ruby.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-six-ruby.html ([https](https://www.rabbitmq.com/tutorial-six-ruby.html) result 301).
* http://www.rabbitmq.com/tutorial-three-dotnet.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-three-dotnet.html ([https](https://www.rabbitmq.com/tutorial-three-dotnet.html) result 301).
* http://www.rabbitmq.com/tutorial-three-go.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-three-go.html ([https](https://www.rabbitmq.com/tutorial-three-go.html) result 301).
* http://www.rabbitmq.com/tutorial-three-java.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-three-java.html ([https](https://www.rabbitmq.com/tutorial-three-java.html) result 301).
* http://www.rabbitmq.com/tutorial-three-python.html with 4 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-three-python.html ([https](https://www.rabbitmq.com/tutorial-three-python.html) result 301).
* http://www.rabbitmq.com/tutorial-three-ruby.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-three-ruby.html ([https](https://www.rabbitmq.com/tutorial-three-ruby.html) result 301).
* http://www.rabbitmq.com/tutorial-two-dotnet.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-two-dotnet.html ([https](https://www.rabbitmq.com/tutorial-two-dotnet.html) result 301).
* http://www.rabbitmq.com/tutorial-two-go.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-two-go.html ([https](https://www.rabbitmq.com/tutorial-two-go.html) result 301).
* http://www.rabbitmq.com/tutorial-two-java.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-two-java.html ([https](https://www.rabbitmq.com/tutorial-two-java.html) result 301).
* http://www.rabbitmq.com/tutorial-two-python.html with 4 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-two-python.html ([https](https://www.rabbitmq.com/tutorial-two-python.html) result 301).
* http://www.rabbitmq.com/tutorial-two-ruby.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorial-two-ruby.html ([https](https://www.rabbitmq.com/tutorial-two-ruby.html) result 301).
* http://www.rabbitmq.com/tutorials with 1 occurrences migrated to:
  https://www.rabbitmq.com/tutorials ([https](https://www.rabbitmq.com/tutorials) result 301).
* http://zhongwencool.github.io/observer_cli with 1 occurrences migrated to:
  https://zhongwencool.github.io/observer_cli ([https](https://zhongwencool.github.io/observer_cli) result 301).
* http://go.microsoft.com/fwlink/?LinkID=322105 with 12 occurrences migrated to:
  https://go.microsoft.com/fwlink/?LinkID=322105 ([https](https://go.microsoft.com/fwlink/?LinkID=322105) result 302).
2019-03-20 03:25:16 -05:00

1.3 KiB

Elixir code for RabbitMQ tutorials

Here you can find an Elixir port of RabbitMQ tutorials.

Requirements

To run this code you need a recent Elixir version installed, which should include Mix, the Elixir build tool.

These tutorials use Elixir AMQP 0-9-1 client built on top of the official RabbitMQ Erlang client.

To install dependencies with Mix, run

mix deps.get
mix deps.compile

Code

To run the examples, use mix run.

Tutorial one: "Hello World!":

mix run receive.exs
mix run send.exs

Tutorial two: Work Queues

mix run worker.exs
mix run new_task.exs

Tutorial three: Publish/Subscribe

mix run receive_logs.exs
mix run emit_log.exs

Tutorial four: Routing

mix run receive_logs_direct.exs --info --warning
mix run emit_log_direct.exs --info "A message"

Tutorial five: Topics

mix run receive_logs_topic.exs "info.*" "warn.*"
mix run emit_log_topic.exs "info.connections" "Connected"

Tutorial six: RPC (Request/Response)

mix run rpc_server.exs
mix run rpc_client.exs