http

package
v1.5.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

README

Kubemq Https Target Connector

Kubemq Https target connector allows services using kubemq server to invoke http rest function to any destination.

Prerequisites

The following are required to run the http target connector:

  • kubemq cluster
  • kubemq-targets deployment

Configuration

http target connector configuration properties:

Properties Key Required Description Example
auth_type no http authentication type "","no_auth","basic","auth_token
username no set username in auth_type=basic mode "admin"
password no set password in auth_type=basic mode "password"
token no set auth token in auth_type=auth_token mode valid JWT token
proxy no set proxy url "http://localhost:8080"
root_certificate no set root ca certificate for mTLS handshake any x509 pem
client_private_key no set private key for mTLS handshake any x509 pem
client_public_key no set public key for mTLS handshake any x509 pem
default_headers no set any default headers to be add for each call map of headers

Example:

bindings:
  - name: kubemq-query-https
    source:
      kind: kubemq.query
      name: kubemq-query
      properties:
        address: "kubemq-cluster:50000"
        client_id: "kubemq-query-http-connector"
        auth_token: ""
        channel: "query.http"
        group:   ""
        auto_reconnect: "true"
        reconnect_interval_seconds: "1"
        max_reconnects: "0"
    target:
      kind: http
      name: target-http
      properties:
        auth_type: "no-auth"
        default_headers: '{"Content-Type":"application/json"}'

Usage

Request

Request metadata setting:

Metadata Key Required Description Possible values
method yes http method to invoke "get","post","head","put"
"delete","patch","options"
url yes http url "https://httpbin.org/get"
headers no any headers required for method '{"Content-Type":"application/json"}'

Request data setting:

Data Key Required Description Possible values
data yes data to set for the http request base64 bytes array

Example:

{
  "metadata": {
    "method": "get",
    "url": "https://httpbin.org/get" 
  },
 "data": null
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connector

func Connector() *common.Connector

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func New

func New() *Client

func (*Client) Connector

func (c *Client) Connector() *common.Connector

func (*Client) Do

func (c *Client) Do(ctx context.Context, req *types.Request) (*types.Response, error)

func (*Client) Init

func (c *Client) Init(ctx context.Context, cfg config.Spec, log *logger.Logger) error

func (*Client) Stop

func (c *Client) Stop() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL