Added /testhttp Endpoint
This commit is contained in:
parent
4ca7c8d98a
commit
268e14889c
|
@ -0,0 +1,115 @@
|
|||
# Endpoint api.zaks.web.za/testhttp
|
||||
|
||||
Tests if http and/or https on a given IPv4 Address or Domain is working and accessible from the Internet at large.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
By invoking the endpoint with no data, it will test the http and https connectivity to your current IP address.
|
||||
|
||||
### Usage example:
|
||||
|
||||
```
|
||||
curl "http://api.zaks.web.za/testhttp"
|
||||
```
|
||||
|
||||
### Response example:
|
||||
|
||||
```
|
||||
{
|
||||
"http": {
|
||||
"ipv4": "12.34.56.78",
|
||||
"port": 80,
|
||||
"result": "OK",
|
||||
"message": "HTTP/1.1 301 Moved Permanently"
|
||||
},
|
||||
"https": {
|
||||
"ipv4": "12.34.56.78",
|
||||
"port": 443,
|
||||
"result": "OK",
|
||||
"message": "HTTP/2 200",
|
||||
"certificate": {
|
||||
"issuer": "C = US, O = Let's Encrypt, CN = R10",
|
||||
"subject": "CN = domain.tld",
|
||||
"expiry": "Aug 11 21:26:10 2025 GMT"
|
||||
}
|
||||
},
|
||||
"notice": "This is a free public endpoint. Visit https://git.zaks.web.za/zaks-web/public-api-endpoints for documentation on available endpoints."
|
||||
}
|
||||
|
||||
```
|
||||
## Working with Query Parameters
|
||||
|
||||
You can add query parameters to the URI of the endpoint.
|
||||
|
||||
Valid query parameters:
|
||||
|
||||
**address={domain|ipv4}**
|
||||
- Using a domain (excluding the http:// or https://) will result in the test being carried out on supplied domain.
|
||||
- Using a public IPv4 address will result in the test being carried out on supplied public IPv4 address.
|
||||
|
||||
> Currently IPv6 is not support as the API is hosted in South Africa and IPv6 roll out has not even begun here.
|
||||
|
||||
**http={false|port}**
|
||||
- Setting this to false will exclude a test on http.
|
||||
- Setting this to a port (1-65535) will result in http being test on supplied port rather than the default port 80.
|
||||
|
||||
**https={false|port}**
|
||||
- Setting this to false will exclude a test on https.
|
||||
- Setting this to a port (1-65535) will result in https being test on supplied port rather than the default port 443.
|
||||
|
||||
### Usage example:
|
||||
|
||||
```
|
||||
curl "http://api.zaks.web.za/testhttp?http=false&address=google.com"
|
||||
```
|
||||
|
||||
### Response example:
|
||||
|
||||
```
|
||||
{
|
||||
"https": {
|
||||
"domain": "google.com",
|
||||
"port": 443,
|
||||
"result": "OK",
|
||||
"message": "HTTP/2 301",
|
||||
"certificate": {
|
||||
"issuer": "C = US, O = Google Trust Services, CN = WR2",
|
||||
"subject": "CN = *.google.com",
|
||||
"expiry": "Jul 14 08:40:41 2025 GMT"
|
||||
}
|
||||
},
|
||||
"notice": "This is a free public endpoint. For more information visit https://git.zaks.web.za/zaks-web/public-api-endpoints"
|
||||
}
|
||||
```
|
||||
|
||||
## Supplying JSON data
|
||||
|
||||
You can supply the parameters as JSON data in the header
|
||||
|
||||
### Usage example:
|
||||
|
||||
```
|
||||
curl "http://api.zaks.web.za/testhttp" \
|
||||
-X POST \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{"address": "google.com", "http": false}'
|
||||
```
|
||||
|
||||
### Response example:
|
||||
|
||||
```
|
||||
{
|
||||
"https": {
|
||||
"domain": "google.com",
|
||||
"port": 443,
|
||||
"result": "OK",
|
||||
"message": "HTTP/2 301",
|
||||
"certificate": {
|
||||
"issuer": "C = US, O = Google Trust Services, CN = WR2",
|
||||
"subject": "CN = *.google.com",
|
||||
"expiry": "Jul 14 08:40:41 2025 GMT"
|
||||
}
|
||||
},
|
||||
"notice": "This is a free public endpoint. For more information visit https://git.zaks.web.za/zaks-web/public-api-endpoints"
|
||||
}
|
||||
```
|
Loading…
Reference in New Issue