mirror of
https://github.com/openfaas/faas.git
synced 2025-06-10 17:26:47 +00:00
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>
51 lines
1.0 KiB
Go
51 lines
1.0 KiB
Go
// Copyright (c) Alex Ellis 2017. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
|
|
package queue
|
|
|
|
import (
|
|
"net/http"
|
|
"net/url"
|
|
)
|
|
|
|
// Request for asynchronous processing
|
|
type Request struct {
|
|
// 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 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
|
|
}
|