diff --git a/src/Illuminate/Queue/SqsQueue.php b/src/Illuminate/Queue/SqsQueue.php index 1ef834bb7bae..1cc1b5dacbc7 100755 --- a/src/Illuminate/Queue/SqsQueue.php +++ b/src/Illuminate/Queue/SqsQueue.php @@ -188,10 +188,24 @@ public function getQueue($queue) $queue = $queue ?: $this->default; return filter_var($queue, FILTER_VALIDATE_URL) === false - ? rtrim($this->prefix, '/').'/'.Str::finish($queue, $this->suffix) + ? $this->suffixQueue($queue, $this->suffix) : $queue; } + /** + * Suffixes a queue + * + * @param string $queue + * @param string $suffix + * @return string + */ + private function suffixQueue($queue, $suffix = '') + { + $fifo = Str::endsWith($queue, '.fifo') ? '.fifo' : ''; + $queue = rtrim($queue, '.fifo'); + return rtrim($this->prefix, '/') . '/' . Str::finish($queue, $suffix) . $fifo; + } + /** * Get the underlying SQS instance. *