github.com/gophercloud/gophercloud@v1.11.0/openstack/messaging/v2/messages/urls.go (about)

     1  package messages
     2  
     3  import (
     4  	"net/url"
     5  
     6  	"github.com/gophercloud/gophercloud"
     7  )
     8  
     9  const (
    10  	apiVersion = "v2"
    11  	apiName    = "queues"
    12  )
    13  
    14  func createURL(client *gophercloud.ServiceClient, queueName string) string {
    15  	return client.ServiceURL(apiVersion, apiName, queueName, "messages")
    16  }
    17  
    18  func listURL(client *gophercloud.ServiceClient, queueName string) string {
    19  	return client.ServiceURL(apiVersion, apiName, queueName, "messages")
    20  }
    21  
    22  func getURL(client *gophercloud.ServiceClient, queueName string) string {
    23  	return client.ServiceURL(apiVersion, apiName, queueName, "messages")
    24  }
    25  
    26  func deleteURL(client *gophercloud.ServiceClient, queueName string) string {
    27  	return client.ServiceURL(apiVersion, apiName, queueName, "messages")
    28  }
    29  
    30  func DeleteMessageURL(client *gophercloud.ServiceClient, queueName string, messageID string) string {
    31  	return client.ServiceURL(apiVersion, apiName, queueName, "messages", messageID)
    32  }
    33  
    34  func messageURL(client *gophercloud.ServiceClient, queueName string, messageID string) string {
    35  	return client.ServiceURL(apiVersion, apiName, queueName, "messages", messageID)
    36  }
    37  
    38  // Builds next page full url based on current url.
    39  func nextPageURL(currentURL string, next string) (string, error) {
    40  	base, err := url.Parse(currentURL)
    41  	if err != nil {
    42  		return "", err
    43  	}
    44  	rel, err := url.Parse(next)
    45  	if err != nil {
    46  		return "", err
    47  	}
    48  	return base.ResolveReference(rel).String(), nil
    49  }