66 lines
1.7 KiB
Markdown
66 lines
1.7 KiB
Markdown
# whoami
|
|
|
|
[](https://hub.docker.com/r/containous/whoami/)
|
|
[](https://travis-ci.com/containous/whoami)
|
|
|
|
Tiny Go webserver that prints os information and HTTP request to output
|
|
|
|
## Usage
|
|
|
|
### Paths
|
|
|
|
- `/data?size=n`: creates a response with a size `n`.
|
|
- `/echo`: webSocket echo.
|
|
- `/bench`: always return the same response (`1`).
|
|
- `/`: returns the whoami information (request and network information).
|
|
- `/api`: returns the whoami information as JSON.
|
|
- `/health`: heath check
|
|
- `GET`, `HEAD`, ...: returns a response with the status code defined by the `POST`
|
|
- `POST`: changes the status code of the `GET` (`HEAD`, ...) response.
|
|
|
|
### Flags
|
|
|
|
- `cert`: give me a certificate.
|
|
- `key`: give me a key.
|
|
- `port`: give me a port number. (default: 80)
|
|
|
|
## Examples
|
|
|
|
```console
|
|
$ docker run -d -P --name iamfoo containous/whoami
|
|
|
|
$ docker inspect --format '{{ .NetworkSettings.Ports }}' iamfoo
|
|
map[80/tcp:[{0.0.0.0 32769}]]
|
|
|
|
$ curl "http://0.0.0.0:32769"
|
|
Hostname : 6e0030e67d6a
|
|
IP : 127.0.0.1
|
|
IP : ::1
|
|
IP : 172.17.0.27
|
|
IP : fe80::42:acff:fe11:1b
|
|
GET / HTTP/1.1
|
|
Host: 0.0.0.0:32769
|
|
User-Agent: curl/7.35.0
|
|
Accept: */*
|
|
```
|
|
|
|
```console
|
|
# updates health check status
|
|
$ curl -X POST -d '500' http://localhost:80/health
|
|
|
|
# calls the health check
|
|
$ curl -v http://localhost:80/health
|
|
* Trying ::1:80...
|
|
* TCP_NODELAY set
|
|
* Connected to localhost (::1) port 80 (#0)
|
|
> GET /health HTTP/1.1
|
|
> Host: localhost:80
|
|
> User-Agent: curl/7.65.3
|
|
> Accept: */*
|
|
>
|
|
* Mark bundle as not supporting multiuse
|
|
< HTTP/1.1 500 Internal Server Error
|
|
< Date: Mon, 16 Sep 2019 22:52:40 GMT
|
|
< Content-Length: 0
|
|
```
|