我不知道是否可能因为std lib没有说明当前正在使用的地址:
http://golang.org/pkg/net/http/
resp, err := http.Get("http://example.com/")
if err != nil {
// handle error
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
Run Code Online (Sandbox Code Playgroud)
我想要做的是设置该http请求的源地址,为什么?因为我不想将我的主要IP地址用于那种东西......
我正在使用Guardian并尝试使用Canary但是,我似乎无法获取当前用户,canary需要conn.assigns中的current_user,我已经按照这个,如果我要求(在控制器操作内):
Guardian.Plug.authenticated?(conn)
Run Code Online (Sandbox Code Playgroud)
我明白了,但如果我这样做:
Guardian.Plug.current_resource(conn)
Run Code Online (Sandbox Code Playgroud)
它只是空白.
我在api管道中有这个代码:
pipeline :private_api do
plug :accepts, ["json"]
plug Guardian.Plug.LoadResource
plug Guardian.Plug.VerifyHeader
plug Guardian.Plug.EnsureAuthenticated, handler: SessionController
plug MyApp.Plug.CurrentUser
end
Run Code Online (Sandbox Code Playgroud)
并在MyApp.Plug.CurrentUser中
defmodule MyApp.Plug.CurrentUser do
def init(opts), do: opts
def call(conn, _opts) do
current_user = Guardian.Plug.current_resource(conn)
Plug.Conn.assign(conn, :current_user, current_user)
end
end
Run Code Online (Sandbox Code Playgroud)
会话创建方法:
def create(conn, %{"session" => session_params}) do
case MyApp.Session.authenticate(session_params) do
{:ok, user} ->
{:ok, jwt, _full_claims} = user |> Guardian.encode_and_sign(:token)
Plug.Conn.assign(conn, :current_user, user)
conn
|> put_status(:created)
|> render("show.json", jwt: jwt, user: …Run Code Online (Sandbox Code Playgroud) 我正面临下一个问题,我可以合并/扩展对象并且工作得很好,但是现在我需要做一个扩展对象的反义,JQuery doc:
var object1 = {
apple: 0,
banana: { weight: 52, price: 100 },
cherry: 97
};
var object2 = {
banana: { price: 200 },
durian: 100
};
// Merge object2 into object1, recursively
$.extend( true, object1, object2 );
// Result
{"apple":0,"banana":{"weight":52,"price":200},"cherry":97,"durian":100}
Run Code Online (Sandbox Code Playgroud)
哪个很酷,而且效果很好,但是如何获得相反的操作,例如获得这样的输出:
{"apple":0,"banana":{"weight":52},"cherry":97}
Run Code Online (Sandbox Code Playgroud) 我正试图从聚合物1.0获取我的谷歌云终端所有设置和工作(后端和调度器上的appengine),但google-api-loader/google-client-loader(尝试两者)拒绝确认我的端点,谷歌api-loader没有任何事情发生就绪事件永远不会触发,谷歌客户端加载它确实但尝试获取此网址:
https://content.googleapis.com/discovery/v1/apis/jobs/v1/rest?fields=rootUrl%2CservicePath%2Cresources%2Cparameters%2Cmethods&pp=0
Run Code Online (Sandbox Code Playgroud)
哪个谷歌全球apis,而不是我的端点.
码:
<polymer-element name="job-service" attributes="jobs">
<template>
<google-api-loader id="api" name="jobs" version="v1" appId="MyAppID" apiRoot="http://localhost:8082/_ah/api" root="http://localhost:8082/_ah/api">
</google-api-loader>
</template>
<script>
Polymer({
is: 'job-service',
ready: function() {
var setJobs = (function(data) {
this.jobs = data.result.jobs;
}).bind(this);
this.$.api.addEventListener('google-api-load', (function() {
this.api = this.$.api.api;
this.api.getJobs().then(setJobs);
}).bind(this));
},
});
</script>
</polymer-element>
Run Code Online (Sandbox Code Playgroud)
尝试更新google-apis以掌握没有变化.
这是我的bower.json:
{
"name": "polymer-project",
"dependencies": {
"paper-header-panel": "PolymerElements/paper-header-panel#^1.0.0",
"paper-item": "PolymerElements/paper-item#^1.0.0",
"google-apis": "GoogleWebComponents/google-apis#master",
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢