travis-ci/travis-api — pull request #96 by BanzaiMan (2013-11-11 16:55:47+00:00)
Title: Implement Atom feed

Feed format has been tested with curl:
```
$ curl -vH "Accept: application/atom+xml" http://localhost:3000/repos/mattmatt/hurt_logger/builds
* Adding handle: conn: 0x7f9b22004000
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x7f9b22004000) send_pipe: 1, recv_pipe: 0
* About to connect() to localhost port 3000 (#0)
* Trying ::1...
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 3000 (#0)
> GET /repos/mattmatt/hurt_logger/builds HTTP/1.1
> User-Agent: curl/7.30.0
> Host: localhost:3000
> Accept: application/atom+xml
>
< HTTP/1.1 200 OK
< Date: Mon, 11 Nov 2013 16:52:49 GMT
< Status: 200 OK
< Connection: close
< Content-Type: application/atom+xml;charset=utf-8
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true
< Access-Control-Expose-Headers: Content-Type, Cache-Control, Expires, Etag, Last-Modified
< X-Endpoint: Travis::Api::App::Endpoint::Repos
< X-Pattern: /:owner_name/:name/builds
< X-OAuth-Scopes: public
< X-Accepted-OAuth-Scopes: public
< Vary: Accept,Accept-Encoding
< Cache-Control: no-cache
< Content-Length: 3469
<

mattmatt/hurt_logger Builds

urn:uuid:3caf5813-770e-424c-a8ed-acb9ce1c3157
Copyright (c) 2013 Travis CI GmbH
2013-11-11T11:52:49-05:00

mattmatt/hurt_logger Build #11

urn:uuid:c682b3e4-8ebd-43e1-a960-f223fc036674
2012-03-04 11:27:21 UTC

<p>
Remove debug. (Mathias Meyer)
<br/><br/>
State: passed
<br/>
Started at: 2012-03-04 11:25:48 UTC
<br/>
Finished at: 2012-03-04 11:27:21 UTC
</p>

Mathias Meyer

mattmatt/hurt_logger Build #10

urn:uuid:2094f189-b030-4653-925c-55e14960ca33
2012-03-04 11:24:55 UTC

<p>
Tell what signal we've received. (Mathias Meyer)
<br/><br/>
State: passed
<br/>
Started at: 2012-03-04 11:23:13 UTC
<br/>
Finished at: 2012-03-04 11:24:55 UTC
</p>

Mathias Meyer

mattmatt/hurt_logger Build #9

urn:uuid:ad475b3a-62a9-47ed-b29a-296a12c3fa13
2012-03-04 11:18:59 UTC

<p>
Properly trap signal. (Mathias Meyer)
<br/><br/>
State: passed
<br/>
Started at: 2012-03-04 11:17:35 UTC
<br/>
Finished at: 2012-03-04 11:18:59 UTC
</p>

Mathias Meyer

mattmatt/hurt_logger Build #8

urn:uuid:f5f10979-6792-4d81-acd7-82f5f0aade4f
2012-03-04 10:05:24 UTC

<p>
Add tail command to display messages from pubsub drain. (Mathias Meyer)
<br/><br/>
State: passed
<br/>
Started at: 2012-03-04 10:04:03 UTC
<br/>
Finished at: 2012-03-04 10:05:24 UTC
</p>

Mathias Meyer

mattmatt/hurt_logger Build #7

urn:uuid:40c521c5-887a-4185-ac4a-2e37ac8f194d
2012-03-04 09:05:14 UTC

<p>
Read drains and filters from ENV. (Mathias Meyer)
<br/><br/>
State: passed
<br/>
Started at: 2012-03-04 09:03:50 UTC
<br/>
Finished at: 2012-03-04 09:05:14 UTC
</p>

Mathias Meyer

* Closing connection 0
```

There are a few things I am not yet sure.
1. The conditions in `Travis::Api::App::Responders::Atom#apply?` may need some care
1. IDs in the Atom feed are of the form `urn:uuid:UUID`; is this correct?