Skip to content

Commit

Permalink
Add QueueName to async requests
Browse files Browse the repository at this point in the history
The queue's name will be consumed by the queue worker to
publish to other topics / slow queues.

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
  • Loading branch information
alexellis committed Apr 22, 2020
1 parent 5938e2f commit a7c6c39
Showing 1 changed file with 34 additions and 8 deletions.
42 changes: 34 additions & 8 deletions gateway/queue/types.go
Expand Up @@ -3,21 +3,47 @@

package queue

import "net/url"
import "net/http"
import (
"net/http"
"net/url"
)

// Request for asynchronous processing
type Request struct {
Header http.Header
Host string
Body []byte
Method string
Path string
// Header from HTTP request
Header http.Header

// Host from HTTP request
Host string

// Body from HTTP request to use for invocation
Body []byte

// Method from HTTP request
Method string

// Path from HTTP request
Path string

// QueryString from HTTP request
QueryString string
Function string

// Function name to invoke
Function string

// QueueName to publish the request to, leave blank
// for default.
QueueName string

// Used by queue worker to submit a result
CallbackURL *url.URL `json:"CallbackUrl"`
}

// RequestQueuer can public a request to be executed asynchronously
type RequestQueuer interface {
Queue(req *Request) error
}

// CanQueueRequests can take on asynchronous requests
type CanQueueRequests interface {
Queue(req *Request) error
Expand Down

0 comments on commit a7c6c39

Please sign in to comment.