Skip to content

Instantly share code, notes, and snippets.

View turgayozgur's full-sized avatar
👾
Focusing

Turgay turgayozgur

👾
Focusing
View GitHub Profile
@turgayozgur
turgayozgur / scan_nullable_sql_columns.go
Created March 20, 2021 10:25
golang, scan nullable sql columns
func Scan(rows *sql.Rows, dest ...interface{}) error {
proxy := make([]interface{}, len(dest))
for k, v := range dest {
switch v.(type) {
case *string:
proxy[k] = &sql.NullString{String: "", Valid: true}
case *bool:
proxy[k] = &sql.NullBool{Bool: false, Valid: true}
case *int:
version_info: "0"
resources:
- '@type': type.googleapis.com/envoy.api.v2.ClusterLoadAssignment
cluster_name: ""
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 127.0.0.1 # The address of the application.
version_info: "0"
resources:
- '@type': type.googleapis.com/envoy.api.v2.Cluster
name: "EnvoyNetCore"
connect_timeout: 5s
lb_policy: ROUND_ROBIN
type: EDS
eds_cluster_config:
service_name: "EnvoyNetCore"
eds_config:
version_info: "0"
resources:
- '@type': type.googleapis.com/envoy.api.v2.RouteConfiguration
name: local_route # route_config_name on the lds.yaml
virtual_hosts:
- name: "EnvoyNetCore"
domains:
- "envoynetcore.com"
routes:
- match:
version_info: "0"
resources:
- '@type': type.googleapis.com/envoy.api.v2.Listener
name: listener_0
address:
socket_address:
address: 0.0.0.0
port_value: "80"
filter_chains:
- filters:
node:
id: id_1
cluster: main
admin:
access_log_path: /tmp/envoy_admin_access.log
address:
socket_address:
address: 0.0.0.0
port_value: "9901"
dynamic_resources:
@turgayozgur
turgayozgur / cds.yaml
Last active November 27, 2019 18:59
Envoy Proxy Dynamic Configurations
# Here is the cluster definition. You can declare more than one cluster on there.
# Cluster definitions points to endpoint definitions(eds.yaml).
# Also, at this level you can configure a circuit breaker for the cluster.
version_info: "0"
resources:
- '@type': type.googleapis.com/envoy.api.v2.Cluster
name: "EnvoyNetCore"
connect_timeout: 5s
lb_policy: ROUND_ROBIN
@turgayozgur
turgayozgur / custom-header-logger.go
Last active August 14, 2019 12:25
Golang custom logger that provides the request headers to log result.
package main
import (
"context"
"fmt"
"log"
"net/http"
"os"
"runtime"
"time"
// Future versions of Hyper may add additional config options,
// which will not automatically be merged into this file.
// See https://hyper.is#cfg for all currently supported options.
module.exports = {
config: {
// choose either `'stable'` for receiving highly polished,
// or `'canary'` for less polished but more frequent updates
updateChannel: 'stable',
@turgayozgur
turgayozgur / .circleci-dotnet-with-cache.yml
Created January 19, 2019 22:09
Building .NET Core App on circleci with caching packages. Restore only if required.
#
# The fallowing circleci config yml and bash scripts demonstrate
# how to build .NET Core app without restoring packages for every build
# until you referance smothing diffrent to any project inside sln.
#
# If you are building docker container when building your application,
# use the docker layer caching insted of these scripts. https://circleci.com/docs/2.0/docker-layer-caching/
#
version: 2