Skip to content

Instantly share code, notes, and snippets.

@mamund
Created March 3, 2012 03:27
Show Gist options
  • Save mamund/1964135 to your computer and use it in GitHub Desktop.
Save mamund/1964135 to your computer and use it in GitHub Desktop.
Conery API Challenge - XML API
<!-- Conery API in XML -->
<!-- see docs at bottom of file -->
<!-- assume a starting uRI supplied by the host server -->
<conery>
<login href="...">
<email>...</email>
<password>...</password>
</login>
<query rel="browse-by-category" href="...">
<category>
<options>
<option>Microsoft</option>
<option>Ruby</option>
<option>Javascript</option>
<option>Mobile</option>
</options>
</category>
</query>
<query rel="browse-all-categories" href="..." />
<query rel="new-episodes" href="..." />
<list rel="productions">
<link rel="production" status="allowed" href="...">...</link>
<link rel="production" status="not-allowed" href="...">...</link>
</list>
<list rel="episodes">
<link rel="episode" href="...">...</link>
<link rel="episode" href="...">...</link>
</list>
<video controls="true" href="..." />
</conery>
<!--
Conery TEXT elements
+ email
+ password
+ category
+ link
Conery affordances:
- <login> (use HTTPS BASIC Auth to pass email & password)
- <query>
+ browse-by-category (use HTTP.GET w/ {href}?category={option}
+ browse-all-categories (use HTT.GET w/ {href})
+ new-episodes (use HTTP.GET w/ {href})
- <list>
+ production (use HTTP.GET w/ {href})
+ episode (user HTTP.GET w/ {href})
- <video>
+ play video from {href}
Write a client that:
- MUST parse XML
- MUST render and activate <login> using HTTP BASIC AUTH
- MUST render and activate <query> using HTTP.GET query strings
- MUST render and activate <link> using HTTP.GET
- MUST render <list> and <video>
+ SHOULD support status="allowed|not-allowed"
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment