Skip to content

Instantly share code, notes, and snippets.

View glennblock's full-sized avatar

Glenn Block glennblock

View GitHub Profile
@glennblock
glennblock / OrderFormatter.cs
Created January 8, 2012 02:36
Web Api - Order formatter
public class OrderMediaTypeFormatterJson : MediaTypeFormatter
{
public OrderMediaTypeFormatter() {
SupportedMediaTypes.Add(
new MediaTypeHeaderValue("application/contoso.orders+json")
);
}
public override object OnWriteToStream(Type type, object value, System.IO.Stream stream, HttpContentHeaders contentHeaders, System.Net.TransportContext context)
@glennblock
glennblock / gist:1577068
Created January 8, 2012 03:34
Web Api - RestBugs bug template
<html>
<head>
<title></title>
</head>
<body>
<table border="1">
<tr>
<td>ID</td>
<td>Name</td>
<td>Status</td>
@glennblock
glennblock / OrderLInkHandler.cs
Created January 8, 2012 04:27
Web API - Order link handler
public class OrderLinkHandler : HttpOperationHandler<ILinkable<Order>,ILinkable<Order>>
{
public ILinkable<Order> OnHandle(ILinkable<Order> linkedOrder) {
if (linkedOrder.Instance.State == OrderStates.Created) {
linkedOrder.Links.Add(OrderLinks.Approval,
GetApprovalUri(order.ID));
}
//other state logic here
return linkedOrder;
@glennblock
glennblock / gist:1577236
Created January 8, 2012 04:44
Web API - Order XHTML
pubic class OrderApi
{
[WebGet(UriTemplate="{id}")]
public XmlDocument Get(int id) {
var order = //get the order
var document = //create an XmlDocument for the order
return document;
}
}
@glennblock
glennblock / gist:1577289
Created January 8, 2012 05:02
Web Api - Configure formatter
config.Formatters.XmlFormatter.SupportedMediaTypes.Add(new MediaTypeMapping("application/vnd-contoso.orders.xml"));
@glennblock
glennblock / gist:1577326
Created January 8, 2012 05:20
Web Api - Contact media type
<?xml version="1.0" encoding="utf-8" ?>
<Root>
<Contacts href=".">
<Contact href=".">
<Name>Mike Amundsen</Name>
<Address>123 Any Street</Address>
<City>Erlanger</City>
<State>Kentucky</State>
<Zip>41018</Zip>
<Email>mca@mamund.com</Email>
@glennblock
glennblock / gist:1577486
Created January 8, 2012 06:35
Web Api - Linkable
public interface ILinkable<T> {
T Instance {get;}
IList<Link> Links {get;}
}
public interface ILinkableCollection<T> : IList<ILinkable<T>> {
IList<Link> Links {get;}
void Add(string name, Uri uri, string rel="");
}
@glennblock
glennblock / gist:1577547
Created January 8, 2012 07:05
Web Api - Uri service
public interface IUriService {
string OrdersBaseUri {get;}
string InventoryBaseUri {get;set;}
string UspsBaseUri {get;set;}
}
@glennblock
glennblock / gist:1824540
Created February 14, 2012 07:34
Create queue
var serviceBusService = azure.createServiceBusService();
serviceBusService.createQueueIfNotExists('taskqueue', function(error, created){
if(!created){
// Queue exists
}
});
@glennblock
glennblock / gist:1824582
Created February 14, 2012 07:36
Send message
var serviceBusService = azure.createServiceBusService();
serviceBusService.sendTopicMessage('taskdiscussion', 'Hello world!', function(error){
if(!error){
// Message sent
}
});