Commit Graph

217 Commits

Author SHA1 Message Date
Sven Fuchs
b8dfb1cd00 auth PUT to /artifacts/:id 2013-01-30 08:50:27 +01:00
Piotr Sarnacki
260c46181d Add hack to allow handling redirect to logs on the client properly.
This hack is temporary and should be removed when we find better
solution.

TL;DR: we can't handle redirects to S3 using CORS, so in case we want to
get logs from S3 without additional requests to API, we need to return
status that will not be automatically redirected (in this case 204 seems
like the best answer).

Longer rationale:

Old logs are hosted on S3 now and in case log is not available in the
database, we would like to redirect to the archived log. Although S3
support CORS, our use case breaks on some browsers:

  * when request is triggered to /jobs/:id/log and log is archived, api
    returns 302 redirect, Location header points to the log on S3
  * browser transparently redirects to given url, but it sets Origin to
    null, for security reasons
  * "Origin: null" is ok, because we allow every origin by setting
    AllowedOrigin to "*"
  * S3 returns "Access-Control-Allow-Origin: null" header, which breaks
    some browsers (I confirmed it for webkit based browsers)

In order to fix this, S3 would need to return * in
Access-Control-Allow-Origin header or we would need to tell the browser
to not follow redirect. Both solutions are not achiveable.

Another option would be to return log information in job payload - we
could send log_url field which should be either log url on amazon or
null, but in such case we would need to query artifacts table in each
job request. This is something that should be avoided as archived logs
are not frequently requested - slowing down every request to get info
for it would be a waste.
2013-01-29 03:51:22 +01:00
Piotr Sarnacki
489a33cbf6 Try 307 redirect on /logs.txt 2013-01-28 19:05:07 +01:00
Konstantin Haase
62b876d2e1 keep query string when redirecting in rewrite middleware 2013-01-28 15:47:28 +01:00
Piotr Sarnacki
a565522f41 Redirect to full amazon url
Amazon can't work properly with SSL and CNAME for subdomains. For now we
can use full amazon url.
2013-01-28 03:43:28 +01:00
Piotr Sarnacki
31371686c9 Redirect to archive logs 2013-01-28 03:04:36 +01:00
Sven Fuchs
b81644acba comment out put to /artifacts/:id for now 2013-01-26 20:44:04 +01:00
Sven Fuchs
4ea95494de allow put to /artifacts/:id 2013-01-26 20:44:04 +01:00
Sven Fuchs
598a586ed4 don't start metrics logger etc unless in production 2013-01-26 20:43:54 +01:00
Sven Fuchs
d441336573 expose logs on /job/:id/log.txt 2013-01-26 20:43:54 +01:00
Piotr Sarnacki
f2d768080f Return last builds on each branch for /builds?branches=true
This is a hack to fix travis-ci/travis-web#123 easier. A proper solution
would be to refactor how /branches work.
2013-01-26 01:12:47 +01:00
Piotr Sarnacki
46eefaf26d Fix syntax error 2013-01-26 00:02:15 +01:00
Konstantin Haase
85e8f27047 hotfix for strange bug 2013-01-25 22:13:33 +01:00
Konstantin Haase
bde974e182 Revert "disable newrelic"
This reverts commit 48cc0d366a.
2013-01-25 22:11:53 +01:00
Konstantin Haase
48cc0d366a disable newrelic 2013-01-25 11:40:41 +01:00
Konstantin Haase
01c585e189 I have no idea 2013-01-25 11:29:05 +01:00
Sven Fuchs
37dd125a8c start notifications 2013-01-23 22:17:40 +01:00
Sven Fuchs
ee11e571b7 pass the api payload type for workers because we now do not return AR scopes any more 2013-01-23 02:44:30 +01:00
Konstantin Haase
593920ce81 add Pragma header for caches that do not understand Cache-Control, see #38 2013-01-21 21:18:16 +01:00
Konstantin Haase
1dd3324350 add /users/:id 2013-01-21 12:16:51 +01:00
Sven Fuchs
92a3d17ebf use travis-core/sf-restart-event 2013-01-17 19:06:34 +01:00
Piotr Sarnacki
e6899b3ce6 Allow to remove ansi chars from plain text log 2013-01-15 02:27:06 +01:00
Piotr Sarnacki
70cd6ef092 Allow to download logs in plain text 2013-01-15 02:23:02 +01:00
Konstantin Haase
01fe983a0c pass if scope does not match 2013-01-13 20:08:56 +01:00
Konstantin Haase
cc2a1cd50e do not require user scope for /auth/github 2013-01-11 17:48:30 +01:00
Konstantin Haase
3d6defe3b1 do not store token from /auth/github 2013-01-11 16:49:08 +01:00
Konstantin Haase
ada6ee0f2c fix scope check 2013-01-11 16:20:53 +01:00
Konstantin Haase
e7be49dcb1 fix the payload 2012-12-17 20:22:51 +01:00
Konstantin Haase
f878eee987 fix logging 2012-12-17 20:06:45 +01:00
Konstantin Haase
b3b5476076 first think, then commit 2012-12-17 19:26:58 +01:00
Konstantin Haase
9a1988d586 fix template 2012-12-17 19:22:33 +01:00
Konstantin Haase
f5fdcc41c6 fix token logic 2012-12-17 15:35:35 +01:00
Konstantin Haase
8c8f031259 have travis token added to user payload on the server 2012-12-17 15:13:38 +01:00
Sven Fuchs
c44445d8e2 use the api serializer to serialize a user record 2012-12-17 01:40:16 +01:00
Konstantin Haase
b005047d95 rename token parameter to github_token for /auth/github 2012-12-12 18:30:55 +01:00
Konstantin Haase
bc1c960c20 add travis_token scope 2012-12-12 17:11:25 +01:00
Sven Fuchs
0e58055a0e Merge branch 'master' of github.com:travis-ci/travis-api 2012-12-12 15:19:41 +01:00
Sven Fuchs
de16fb07f8 test result images based on the content-disposition header, fix content-disposition header 2012-12-12 15:19:27 +01:00
Konstantin Haase
44d6c02591 actually check if github sent a token 2012-12-10 15:49:37 +01:00
Konstantin Haase
3d8c9ed914 use localStorage after handshake 2012-12-10 14:03:31 +01:00
Piotr Sarnacki
88363423f4 Fix whitelist auth check for localhost 2012-12-09 23:46:18 +01:00
Sven Fuchs
a9bf43c1fd always use etag for caching when cache_key or updated_at are present, add the deploy_sha as a cache buster 2012-12-09 19:22:33 +01:00
Sven Fuchs
d113833e9a fix xml responder and result image specs 2012-12-09 16:02:00 +01:00
Sven Fuchs
f19f5f9879 check redis for :use_rack_cache 2012-12-09 15:16:50 +01:00
Sven Fuchs
6d12070fba use Repository::StatusImage 2012-12-09 15:16:50 +01:00
Konstantin Haase
83e42adc65 that did not work 2012-12-06 16:55:58 +01:00
Konstantin Haase
2250d1ba5c only send user payload 2012-12-06 16:51:33 +01:00
Konstantin Haase
981a32f877 fix setTimeout 2012-12-06 16:24:37 +01:00
Konstantin Haase
24ea1ca7c0 cheap escape 2012-12-06 16:05:36 +01:00
Konstantin Haase
7b4fe5dab3 no inspect 2012-12-06 15:52:49 +01:00