Commit graph

47 commits

Author SHA1 Message Date
Colby Gutierrez-Kraybill
7b7306e7f9
Merge pull request #1721 from LLK/hotfix/cache-nav-session-endpoints
[Master] Hotfix/cache nav session endpoints @rschamp said I should.
2017-12-01 16:13:38 -05:00
Ray Schamp
51d980cfb3 Conditionally purge on deploys
We can configure this within Travis
2017-12-01 15:34:31 -05:00
Colby Gutierrez-Kraybill
0ba2693c0e Cache logged out account-nav.json and session
Cache ^/fragment/account-nav.json and ^/session for logged out users
2017-12-01 13:50:43 -05:00
Colby Gutierrez-Kraybill
1083a7a79f Fix typos and correct cookie
scratchsessionsid not scratchsessionid
Cookie needs key added for assigned value of scratchlanguage
2017-12-01 10:18:47 -05:00
Colby Gutierrez-Kraybill
91b3feb0b1 Merge pull request #1708 from colbygk/session-caching
[Master] Project page caching
2017-12-01 09:59:26 -05:00
Colby Gutierrez-Kraybill
69757e6bec
Revert "[Master] Project page caching" 2017-12-01 09:24:17 -05:00
Colby Gutierrez-Kraybill
0c109113c7 Failed on actual run, needs to load languages from directory below 2017-11-30 15:01:08 -05:00
Colby Gutierrez-Kraybill
785667691e Fix up lint errors 2017-11-30 11:30:45 -05:00
Colby Gutierrez-Kraybill
279e25eb69 Simplify how the conditional is created for setting the S3 backend, caching related behavior for non-logged in users and maintaining language settings and passing to backend 2017-11-30 11:11:38 -05:00
Matthew Taylor
ff0c5eaa05 remove unused variable 2017-04-26 08:40:58 -04:00
Matthew Taylor
905fe8ac10 Remove setBucketNameHeader
Missed this one – it’s now covered in the custom vcl
2017-04-26 08:35:15 -04:00
Matthew Taylor
d563535ba5 Move string set methods out of fastly-extended
This also moves all helper methods in `configure-fastly` into a separate utility file, and adds some additional unit tests for those utilities now that they are separated.
2017-04-25 13:18:13 -04:00
Matthew Taylor
ca067fdc5e Use custom VCL for Pass/!Pass conditions
We’ve now exceeded our max number of characters for a condition in the Fastly API, and we need to make it larger to accommodate regex conditionals that can match on any of the routes in www currently.

This fixes the issue by moving the conditions – and the states that are affected by it, like setting the backend or cache ttls – to two custom vcl files that are updated via the Fastly API. One is for the `vcl_rev` config, and one is for the `vcl_fetch` config.
2017-04-25 11:06:57 -04:00
Ray Schamp
7ae7db76a2 Fix typo 2016-07-22 12:45:18 -04:00
Ray Schamp
62609cbc87 Collapse by beginning all routes with a common ^ 2016-07-22 12:38:24 -04:00
Ray Schamp
e5ad1872d0 Don't require end slashes when replacing arguments 2016-07-22 11:47:26 -04:00
Matthew Taylor
6e67e3973c Revert "Attempt 2 – reprioritize header conditionals"
This reverts commit 1ee9358be4.
2016-07-08 10:31:17 -04:00
Matthew Taylor
1ee9358be4 Attempt 2 – reprioritize header conditionals 2016-07-08 10:18:02 -04:00
Matthew Taylor
dfc4f9574d use route aliases for generalizable route patterns
1. match all `^/explore` to www
2. match all `^/search` to www
3. match all `^/conference` to www
2016-06-14 11:28:20 -04:00
Ray Schamp
e323cbbb9f Terminate view.html rewrite rule
Otherwise anything with html in the path matches. Fixes #527
2016-05-31 09:38:13 -04:00
Ray Schamp
19758f3901 Merge pull request #521 from rschamp/bugfix/cache-condition
[Release] Fix cache condition request
2016-05-27 14:10:33 -04:00
Ray Schamp
ca97838695 Fix cache condition request
The response from the request condition includes fields we don't want to send up with the cache condition
2016-05-27 13:50:13 -04:00
Ray Schamp
8ded5cb267 Always use regex form of route patterns
When talking to Fastly, don't ever use an express-style url pattern for consistency, and so we don't use : characters in condition names.
2016-05-20 10:33:13 -04:00
Matthew Taylor
d69de477a1 Merge branch 'develop' of https://github.com/LLK/scratch-www into feature/conference-schedule
* 'develop' of https://github.com/LLK/scratch-www: (32 commits)
  Lint
  Bundle all locale data
  Don't bundle polyfills
  Set up Raven within init.js
  Prefix privacyPolicy message string
  Exclude minified javascript from linting
  One space more
  Changes "interfacesto" to "interfaces to"
  Remove tag target
  Filter before mapping to avoid returning undefined
  Fix Pass condition for "static" routes
  Spacing2
  Mangling is the default
  Spacing
  Update for typography fixes
  Cherry pick PR #476 into master
  Add invisible spacer to anchored sections
  For Developers
  Lint JSON, expand and simplify lint step
  Fix banned user redirect
  ...

# Conflicts:
#	src/redux/actions.js
#	src/redux/reducer.js
2016-05-19 13:25:36 -04:00
Matthew Taylor
1e57262771 Add fastly rule for express uri patterns
convert path variables in express (i.e. dev-server) into rules that work for fastly (i.e. `.+?`). I tried to make it `\w+?`, but javascript seemed to either want no `\`'s or two `\`'s
2016-05-19 11:36:03 -04:00
Ray Schamp
ca546552b9 Filter before mapping to avoid returning undefined
If the map function doesn't return anything, the added item is undefined. Avoid this by filtering the array before mapping.
2016-05-17 13:49:03 -04:00
Ray Schamp
bb70629b6b Fix Pass condition for "static" routes
Previously we relied on the static directory to construct the pass condition, but this doesn't include many things added to the build other than static files. So instead of adding these explicitly through `extraAppRoutes`, base the Pass condition on the final build, but exclude the view .html files. This way the version.txt, routes.json, and all directories added by webpack will be resolved to S3 rather than scratchr2.
2016-05-17 12:20:45 -04:00
Ray Schamp
fce7c0cd9b Purge all after configuring Fastly 2016-04-29 15:52:16 -04:00
Ray Schamp
fbaa2d2ed9 Consolidate pass condition to one req.url~ check 2016-04-28 14:18:42 -04:00
Ray Schamp
a08f56230a Raise priority of rewrite conditions
This avoids a situation where going to http://staging.scratch.mit.edu/hoc will redirect to https://staging.scratch.mit.edu/hoc.html.
2016-04-27 15:27:45 -04:00
Ray Schamp
39063ae76c End static directories with / in Pass condition
Otherwise, any URL beginning with static path names go to S3.
2016-04-25 14:32:52 -04:00
Ray Schamp
19a0ed3f4b Remove spaces from condition
This condition exceeded 512 characters. We will have to rethink how to construct this.
2016-04-22 09:54:14 -04:00
Matthew Taylor
bf1a99fd63 use route name now with updated strucutre
Thanks @rschamp for this!
2016-04-21 18:16:49 -04:00
Ray Schamp
b8bfe46890 Configure redirect routes in Fastly 2016-04-19 18:42:03 -04:00
Ray Schamp
494085247d Activate after configuring Fastly 2016-04-19 13:04:45 -04:00
Ray Schamp
f90adfcadb Be explicit, direct app requests to S3 2016-04-19 10:50:57 -04:00
Ray Schamp
303b5c44a8 Lint bin subdirectories 2016-04-19 10:47:33 -04:00
Ray Schamp
eb5edc293d Linting 2016-04-18 14:07:27 -04:00
Ray Schamp
43788eb7d8 Split server and routes/config
Turn HtmlGeneratorPlugin into a module
Turn server into dev-server and simplify it
2016-04-18 14:07:11 -04:00
Ray Schamp
707af8dbe9 Use async.auto to make dependencies clearer
Thanks @thisandagain — now I know why you said async.auto is so awesome.

Also throw the error so we get a stacktrace, and make the bucket name and service ID into constants.
2016-04-18 13:23:23 -04:00
Ray Schamp
32611c9cba Fix rewrite priority
The order of the rewrite conditions needs to be internally consistent so we can control specificity with routes.json
2016-04-16 14:08:53 -04:00
Ray Schamp
c6abc2ae7b Fix cache_settings request 2016-04-16 14:05:16 -04:00
Ray Schamp
ab0979b958 Add docstrings 2016-04-16 13:46:03 -04:00
Ray Schamp
5846dcacc8 Use constants instead of functions for strings 2016-04-16 13:01:39 -04:00
Ray Schamp
0aa9b7c587 Untangle the requests a bit with help from async 2016-04-16 12:49:48 -04:00
Ray Schamp
87da93f9ea Move some fastly-specific stuff into a module 2016-04-16 10:17:20 -04:00
Ray Schamp
de5f36b649 Add script for configuring Fastly for S3
* Builds the Pass condition based on the static directory and view routes.
* Updates Fastly with new header and conditions based on the view routes.
* Uses a nice module for interacting with fastly :)

Needs some major cleanup but it works. Hopefully Travis will work too.
2016-04-15 19:42:57 -04:00