// The code in this file was automatically generated by running httprequest-generate-client.
// DO NOT EDIT

package httpbakery

import (
	"context"

	"gopkg.in/httprequest.v1"
)

type dischargeClient struct {
	Client httprequest.Client
}

// Discharge discharges a third party caveat.
func (c *dischargeClient) Discharge(ctx context.Context, p *dischargeRequest) (*dischargeResponse, error) {
	var r *dischargeResponse
	err := c.Client.Call(ctx, p, &r)
	return r, err
}

// DischargeInfo returns information on the discharger.
func (c *dischargeClient) DischargeInfo(ctx context.Context, p *dischargeInfoRequest) (dischargeInfoResponse, error) {
	var r dischargeInfoResponse
	err := c.Client.Call(ctx, p, &r)
	return r, err
}

// PublicKey returns the public key of the discharge service.
func (c *dischargeClient) PublicKey(ctx context.Context, p *publicKeyRequest) (publicKeyResponse, error) {
	var r publicKeyResponse
	err := c.Client.Call(ctx, p, &r)
	return r, err
}
