# frozen_string_literal: true # https://upstash.com/docs/qstash/api/messages/cancel module Qstash module Message class Cancel include Qstash::Callable attr_reader :message_id, :headers def initialize(message_id, headers: {}) @message_id = message_id @headers = headers end def call uri = URI(endpoint) client = Qstash::HttpClient.new(uri) client.delete({}, headers) end private def endpoint [ Qstash.config.url.sub(/\/$/, ""), Endpoints::CANCEL_ENDPOINT, message_id ].join("/") end end end end