Skip to content

Instantly share code, notes, and snippets.

View GFoley83's full-sized avatar
☘️
CTO @ Educa

Gavin Foley GFoley83

☘️
CTO @ Educa
View GitHub Profile
@GFoley83
GFoley83 / UploadController.cs
Created December 10, 2015 02:00 — forked from pdcullen/UploadController.cs
ng-flow asp.net api2 upload class
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Runtime.Serialization;
using System.Threading.Tasks;
using System.Web;
@GFoley83
GFoley83 / AzureStorageApi
Created December 14, 2015 03:35 — forked from trailmax/AzureStorageApi
Uploading large files to Azure Blob Storage via REST API. Code for blog post http://tech.trailmax.info/2014/01/uploading-large-files-to-azure-blob-storage-through-rest-api/
public class AzureStorageApi
{
private const string AzureApiVersion = "2012-02-12";
private const int BlockSize = 4 * 1024 * 1024;
public void UploadFile(string fullFilePath, string blobSasUri, Dictionary<string, string> metadata = null, int timeout = 60)
{
var blocks = new List<String>();
var tasks = new List<Task>();
@GFoley83
GFoley83 / Program.cs
Created January 27, 2016 10:05 — forked from andreasbotsikas/Program.cs
Move Azure blobs from one container to another
using System;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
/// <summary>
/// Moves blobs from one container to another
/// Install-Package WindowsAzure.Storage
/// </summary>
namespace MoveBlobs
{
class Program
@GFoley83
GFoley83 / Camel Casing
Created April 9, 2016 02:05 — forked from jayhjkwon/Camel Casing
JSON Media-Type Formatter
var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
@GFoley83
GFoley83 / message-bus.service.ts
Last active June 2, 2020 12:55
Angular 2 Message Bus / PubSub ex.
import { Injectable } from "@angular/core";
import { ReplaySubject, Observable } from "rxjs/Rx";
interface Message {
channel: string;
data: any;
}
@Injectable()
export class MessageBus {
@GFoley83
GFoley83 / app.module.ts
Created March 6, 2017 02:42 — forked from mrgoos/app.module.ts
Intercepting http request/respons in Angular 2. Works from version 2.3.0.
...
...
providers: [
{ provide: Http, useClass: ExtendedHttpService }
]
...
...
@GFoley83
GFoley83 / statuses.md
Created April 27, 2017 00:00 — forked from vkostyukov/statuses.md
HTTP status codes used by world-famous APIs
API Status Codes
[Twitter][tw] 200, 304, 400, 401, 403, 404, 406, 410, 420, 422, 429, 500, 502, 503, 504
[Stripe][stripe] 200, 400, 401, 402, 404, 429, 500, 502, 503, 504
[Github][gh] 200, 400, 422, 301, 302, 304, 307, 401, 403
[Pagerduty][pd] 200, 201, 204, 400, 401, 403, 404, 408, 500
[NewRelic Plugins][nr] 200, 400, 403, 404, 405, 413, 500, 502, 503, 503
[Etsy][etsy] 200, 201, 400, 403, 404, 500, 503
[Dropbox][db] 200, 400, 401, 403, 404, 405, 429, 503, 507
@GFoley83
GFoley83 / JsonSchemaToPocos.cs
Created September 14, 2017 18:57 — forked from rushfrisby/JsonSchemaToPocos.cs
Converts a JSON schema to C# POCO classes
class Program
{
private const string Cyrillic = "Cyrillic";
private const string Nullable = "?";
static void Main()
{
string schemaText;
using (var r = new StreamReader("schema.txt"))
@GFoley83
GFoley83 / deferred-promise.ts
Created April 26, 2018 07:37
Deferred Promise for Typescript
/**
* A new instance of deferred is constructed by calling `new DeferredPromse<T>()`.
* The purpose of the deferred object is to expose the associated Promise
* instance APIs that can be used for signaling the successful
* or unsuccessful completion, as well as the state of the task.
* @export
* @class DeferredPromise
* @implements {Promise<T>}
* @template T
* @example
@GFoley83
GFoley83 / LinkedIn - Remove crap posts.js
Created September 30, 2018 22:52
Unlike facebook, LinkedIn creates entire posts just for likes and comments which fills up the feed with crap. This snippet removes posts from the feed that aren't proper content.
const removeCrap = () => {
const $crapSelector = $(`
span.ember-view span:contains(" likes this"),
span.ember-view span:contains(" commented on this"),
span.ember-view span:contains(" liked "),
span.ember-view span:contains("Short course you may like"),
div.feed-shared-text-view span:contains("Promoted")
`);
const crapCount = $crapSelector.length;