-
Notifications
You must be signed in to change notification settings - Fork 0
/
gae-gotchas.html
124 lines (119 loc) · 5.13 KB
/
gae-gotchas.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>GAE gotchas — m0v</title>
<link rel="stylesheet" type="text/css" href="/theme/css/skeleton.css" />
<link rel="stylesheet" type="text/css" href="/theme/css/main.css" />
<link rel="shortcut icon" type="text/css" href="/favicon.ico" />
<link rel="alternate" type="application/atom+xml"
title="m0v — Flux Atom"
href="/" />
<!--[if lte IE 8]><script src="/theme/js/html5shiv.js"></script><![endif]-->
<meta name="viewport" content="initial-scale=1.0, width=device-width, user-scalable=no" />
<meta name="author" content="RCS" />
<meta name="keywords" content="gae, software" />
</head>
<body>
<div class="page">
<header class="page-head">
<h1>
<a href="/index.html">m0v</a>
</h1>
</header>
<div class="page-content">
<article class="post content">
<header class="post-header">
<time datetime="2016-12-15T00:00:00+00:00" pubdate="pubdate">
Thu 15 December 2016
</time>
<h1>
<a rel="bookmark"
href="/gae-gotchas.html"
title="Lien permanent vers «GAE gotchas»">
GAE gotchas
</a>
</h1>
<div class="meta">
In «<a href="/category/cheat-sheet.html">Cheat Sheet</a>»
by <a href="/author/rcs.html">RCS</a>
</div>
</header>
<div class="post-content">
<h2>Contents</h2>
<ul>
<li><a href="#customdomains">Custom Domains</a></li>
<li><a href="#install">Install</a></li>
<li><a href="#run">Run</a></li>
<li><a href="#datastore">Datastore</a></li>
<li><a href="#requests">Requests</a></li>
</ul>
<h2>Custom Domains</h2>
<p>Google allows for GAE apps to be available at custom domains. Sign into admin.google.com, add a new domain, verify ownership. Then add a new GAE app and add new URL to app. Also need to add cname record at registrar for that URL which allows app to be hosted at custom domain.</p>
<p>But naked domains aren't allowed. So while the app can be served from www.madowatt.in or global.madowatt.in, the app can't be served from madowatt.in. To get around this, forward naked domain to appid.appspot.com at registrar using URL Masking/Stealth Redirection/URL Hiding and Path Forwarding enabled. To confirm this difference, compare the traceroute to the two URLs.</p>
<h2>Run</h2>
<ul>
<li>~/dev/go_appengine/goapp serve spvfree/</li>
<li>~/dev/go_appengine/dev_appserver.py
--skip_sdk_update_check
--host=0.0.0.0
--admin_host=0.0.0.0 spvfree/</li>
<li>~/dev/go_appengine/goapp deploy spvfree/</li>
<li>~/dev/go_appengine/appcfg.py -v --no_cookies --noauth_local_webserver -e <email> update <app-folder> //no_cookies to ignore ~/.appcfg_oauth2_tokens</li>
</ul>
<h2>Datastore</h2>
<p>The datastore doesn't allow nested slices.</p>
<h2>Requests</h2>
<p>DELETE requests can't have anything in the body of the request. GAE will return 400 Bad Request even before the request gets to your app.</p>
</div>
<footer class="post-footer">
<div class="meta">
In «<a href="/category/cheat-sheet.html">Cheat Sheet</a>»
by <a href="/author/rcs.html">RCS</a><br />
Tags: #<a href="/tag/gae.html">gae</a> #<a href="/tag/software.html">software</a> </div>
</footer>
</article>
</div>
<aside class="page-sidebar">
<nav class="widget">
<h3>Site</h3>
<ul>
<li><a href="/index.html">Home</a></li>
<li><a href="/archives.html">Archives</a></li>
<li><a href="/tags.html">Tags</a></li>
</ul>
</nav>
<nav class="widget">
<h3>Categories</h3>
<ul>
<li><a href="/category/algorithms.html">Algorithms</a></li>
<li><a href="/category/chatter.html">Chatter</a></li>
<li><a href="/category/cheat-sheet.html">Cheat Sheet</a></li>
<li><a href="/category/cheatsheet.html">cheatsheet</a></li>
<li><a href="/category/detailed.html">Detailed</a></li>
<li><a href="/category/events.html">Events</a></li>
<li><a href="/category/language.html">language</a></li>
<li><a href="/category/manual.html">manual</a></li>
<li><a href="/category/misc.html">misc</a></li>
<li><a href="/category/plan.html">plan</a></li>
<li><a href="/category/review.html">Review</a></li>
<li><a href="/category/setup.html">Setup</a></li>
<li><a href="/category/software-encryption.html">software, encryption</a></li>
<li><a href="/category/teaser.html">Teaser</a></li>
</ul>
</nav>
<nav class="widget">
<h3>Social</h3>
<ul>
<li><a href="https://stackoverflow.com/users/1093710/sridhar">SO</a></li>
<li><a href="https://github.com/tortuoise">Github</a></li>
<li><a href="/" rel="alternate">Flux Atom</a></li>
</ul>
</nav>
</aside>
<footer class="page-footer">
<p> Powered by <a href="http://pelican.readthedocs.org">Pelican</a></p>
</footer>
</div>
</body>
</html>