doc: add API documentation
This commit is contained in:
parent
12fdcfdf55
commit
db86f49de2
|
@ -0,0 +1,104 @@
|
|||
API calls
|
||||
=========
|
||||
|
||||
Host Management
|
||||
---------------
|
||||
|
||||
```go
|
||||
type HostKind int
|
||||
|
||||
const (
|
||||
KindHTTP HostKind = iota
|
||||
KindTCP
|
||||
KindIRC
|
||||
KindProxy
|
||||
)
|
||||
|
||||
type Host struct {
|
||||
ID string `gorethink:"id,omitempty"`
|
||||
Hostname string `gorethink:"hostname"`
|
||||
OnionHostname string `gorethink:"onionhostname"`
|
||||
Token string `gorethink:"token"`
|
||||
OnionKey []byte `gorethink:"onionKey" json:"-"` // PEM-encoded
|
||||
|
||||
Kind HostKind `gorethink:"hostKind"`
|
||||
Port string `gorethink:"port"`
|
||||
|
||||
AllowedUsers []string `gorethink:"allowedUsers"`
|
||||
}
|
||||
```
|
||||
|
||||
### AddHost
|
||||
|
||||
This creates a new host in the routing mesh.
|
||||
|
||||
```go
|
||||
type AddHostRequest struct {
|
||||
BaseAPICall
|
||||
Hostname string
|
||||
OnionKey *rsa.PrivateKey
|
||||
}
|
||||
|
||||
type AddHostResponse struct {
|
||||
ID string
|
||||
Token string // JWT
|
||||
Hostname string
|
||||
OnionHostname string
|
||||
}
|
||||
```
|
||||
|
||||
### GetHost
|
||||
|
||||
### ModifyHost
|
||||
|
||||
Token Management
|
||||
----------------
|
||||
|
||||
```go
|
||||
type Token struct {
|
||||
ID string `gorethink:"id,omitempty" json:"jti"`
|
||||
|
||||
ExpiresAt int64 `json:"exp,omitempty"`
|
||||
IssuedAt int64 `json:"iat,omitempty"`
|
||||
Issuer string `json:"iss,omitempty"`
|
||||
Subject string `json:"sub,omitempty"`
|
||||
|
||||
Revoked bool
|
||||
RevocationID string
|
||||
Scopes []string `json:"scopes"`
|
||||
}
|
||||
```
|
||||
|
||||
### CreateInitialToken
|
||||
|
||||
### ValidateToken
|
||||
|
||||
### CreateToken
|
||||
|
||||
### ListTokens
|
||||
|
||||
### RevokeToken
|
||||
|
||||
Metrics
|
||||
-------
|
||||
|
||||
### Report
|
||||
|
||||
Returns the following data for the last minute, the last 5 minutes and the last
|
||||
10 minutes:
|
||||
|
||||
- Number of requests processed
|
||||
- Total request latency
|
||||
- Longest request latency
|
||||
- Shortest request latency
|
||||
|
||||
Users
|
||||
-----
|
||||
|
||||
```go
|
||||
type User struct {
|
||||
ID string `gorethink:"id,omitempty"`
|
||||
Email string `gorethink:"email"`
|
||||
OauthMethod string `gorethink:"oauthMethod"`
|
||||
}
|
||||
```
|
Loading…
Reference in New Issue