diff options
Diffstat (limited to 'deps/rabbitmq_cli/lib/rabbitmq/cli/core/input.ex')
-rw-r--r-- | deps/rabbitmq_cli/lib/rabbitmq/cli/core/input.ex | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/core/input.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/input.ex new file mode 100644 index 0000000000..5e1328be29 --- /dev/null +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/core/input.ex @@ -0,0 +1,39 @@ +## This Source Code Form is subject to the terms of the Mozilla Public +## License, v. 2.0. If a copy of the MPL was not distributed with this +## file, You can obtain one at https://mozilla.org/MPL/2.0/. +## +## Copyright (c) 2007-2020 VMware, Inc. or its affiliates. All rights reserved. + +defmodule RabbitMQ.CLI.Core.Input do + alias RabbitMQ.CLI.Core.Config + + def consume_single_line_string_with_prompt(prompt, opts) do + val = case Config.output_less?(opts) do + true -> + IO.read(:stdio, :line) + false -> + IO.puts(prompt) + IO.read(:stdio, :line) + end + + case val do + :eof -> :eof + "" -> :eof + s -> String.trim(s) + end + end + + def consume_multiline_string() do + val = IO.read(:stdio, :all) + + case val do + :eof -> :eof + "" -> :eof + s -> String.trim(s) + end + end + + def infer_password(prompt, opts) do + consume_single_line_string_with_prompt(prompt, opts) + end +end |