Skip to content

Instantly share code, notes, and snippets.

Debug output

Target: 33333333333333333333333333333333

Access key: 1111111111111111111111111111111111111111

Secret key: 2222222222222222222222222222222222222222

URL: https://vws.vuforia.com/targets/33333333333333333333333333333333/instances

---
apiVersion: v1
kind: ConfigMap
metadata:
name: metricbeat-config
namespace: kube-system
labels:
k8s-app: metricbeat
data:
metricbeat.yml: |-
apiVersion: v1
kind: Secret
metadata:
name: my-kube-secret-name
type: Opaque
data:
username: base64-encoded-username-here
password: base64-encoded-password-here
initContainers:
- image: redriversoftware/sql-azure-firewall-opener:latest
name: sql-azure-firewall-opener
env:
- name: username
valueFrom:
secretKeyRef:
name: my-kube-secret-name
key: username
- name: password
// the attribute itself - to put against our action parameters.
// combines the model binding engine with our value provider factory.
public class FromHeaderAttribute : ParameterBindingAttribute
{
public override HttpParameterBinding GetBinding(HttpParameterDescriptor parameter)
{
var httpConfig = parameter.Configuration;
var binder = new ModelBinderAttribute()
.GetModelBinder(httpConfig, parameter.ParameterType);
return new ModelBinderParameterBinding(
[HttpGet]
[Route("products")]
public IHttpActionResult GetProducts([FromUri]string filter, [FromHeader]StandardGetHeaders headers)
{
// validate headers (and any other bound fields), returning useful messages
// upon failure
if (!ModelState.IsValid) return BadRequest(ModelState);
// run our query
var results = RunGetProductsQuery(
[HttpGet]
[Route("products")]
public IHttpActionResult GetProducts([FromUri]string filter)
{
string headerValue = null;
IEnumerable headerValues;
if (Request.Headers.TryGetValue("X-Secret-Penguin-Handshake", out headerValues))
{
headerValue = headerValues.FirstOrDefault();
}
public class MyLimitedApiClient
{
private static readonly object _syncRoot = new object();
private DateTime? _nextRequestTimeSlot = null;
private readonly HttpClient _http;
private static readonly TimeSpan RateLimitedInterval = TimeSpan.FromSeconds(0.1); // 10 per sec
public async Task<T> GetJson<T>(string url) where T : class
{
@kierenj
kierenj / paging-by-default.md
Created December 19, 2017 14:57
Paging defaults

Paging by default

problems

  • easy to forget default limit is there - get dropdowns with just a few options, etc
  • have to specify arbitrary-ish big number for page_size to remove limit. how to choose?

benefits

  • not having to remember to implement paging
{
"swagger": "2.0",
"info": {
"version": "v1",
"title": "API"
},
"basePath": "\/",
"paths": {
"\/categories": {
"get": {