This is a python module for generating HTTP request headers for HMAC authentication with Kong. More specifically, Kong's HMAC Authentication Plugin.
This module was written for load testing with Locust and used in conjuction with Locust Docker.
GET request:
from kong_hmac import generate_request_headers
import requests
key_id = 'my-key-id'
secret = 'my-secret'
url = 'https://example.com/api/resource'
get_request_headers = generate_request_headers(key_id, secret, url)
r = requests.get(url, headers=get_request_headers)
print 'Response code: %d\n' % r.status_code
print r.text
POST request:
from kong_hmac import generate_request_headers
import request
key_id = 'my-key-id'
secret = 'my-secret'
url = 'https://example.com/api/resource'
content_type = 'application/json'
payload = open('payload.json', 'r').read()
post_request_headers = generate_request_headers(key_id, secret, url, payload, content_type)
r = requests.post(url, headers=post_request_headers, data=payload)
print 'Response code: %d\n' % r.status_code
print r.text
payload.json:
{
"key1": "value1",
"key2": "value2"
}
MIT License - see the LICENSE file for details