From 0be61598ef286be4ca2c1c52e30adfe15b8b6c26 Mon Sep 17 00:00:00 2001 From: Jan-Lukas Else Date: Tue, 8 Dec 2020 19:36:19 +0100 Subject: [PATCH] Fix error --- activityPub.go | 84 +++++++++++++++++++++++++------------------------- go.mod | 14 ++++----- go.sum | 26 ++++++++-------- micropub.go | 4 ++- postsDb.go | 4 +-- render.go | 2 +- 6 files changed, 69 insertions(+), 65 deletions(-) diff --git a/activityPub.go b/activityPub.go index 80337cc..cb5af35 100644 --- a/activityPub.go +++ b/activityPub.go @@ -126,7 +126,7 @@ func apHandleInbox(w http.ResponseWriter, r *http.Request) { return } // Parse activity - activity := make(map[string]interface{}) + activity := map[string]interface{}{} err = json.NewDecoder(r.Body).Decode(&activity) _ = r.Body.Close() if err != nil { @@ -292,14 +292,14 @@ func apRemoveInbox(inbox string) error { func (p *post) apPost() { n := p.toASNote() - createActivity := make(map[string]interface{}) - createActivity["@context"] = asContext - createActivity["actor"] = appConfig.Blogs[p.Blog].apIri() - createActivity["id"] = p.fullURL() - createActivity["published"] = n.Published - createActivity["type"] = "Create" - createActivity["object"] = n - apSendToAllFollowers(p.Blog, createActivity) + apSendToAllFollowers(p.Blog, map[string]interface{}{ + "@context": asContext, + "actor": appConfig.Blogs[p.Blog].apIri(), + "id": p.fullURL(), + "published": n.Published, + "type": "Create", + "object": n, + }) if n.InReplyTo != "" { // Is reply, so announce it time.Sleep(30 * time.Second) @@ -308,39 +308,38 @@ func (p *post) apPost() { } func (p *post) apUpdate() { - n := p.toASNote() - updateActivity := make(map[string]interface{}) - updateActivity["@context"] = asContext - updateActivity["actor"] = appConfig.Blogs[p.Blog].apIri() - updateActivity["id"] = p.fullURL() - updateActivity["published"] = time.Now().Format("2006-01-02T15:04:05-07:00") - updateActivity["type"] = "Update" - updateActivity["object"] = n - apSendToAllFollowers(p.Blog, updateActivity) + apSendToAllFollowers(p.Blog, map[string]interface{}{ + "@context": asContext, + "actor": appConfig.Blogs[p.Blog].apIri(), + "id": p.fullURL(), + "published": time.Now().Format("2006-01-02T15:04:05-07:00"), + "type": "Update", + "object": p.toASNote(), + }) } func (p *post) apAnnounce() { - announceActivity := make(map[string]interface{}) - announceActivity["@context"] = asContext - announceActivity["actor"] = appConfig.Blogs[p.Blog].apIri() - announceActivity["id"] = p.fullURL() + "#announce" - announceActivity["published"] = p.toASNote().Published - announceActivity["type"] = "Announce" - announceActivity["object"] = p.fullURL() - apSendToAllFollowers(p.Blog, announceActivity) + apSendToAllFollowers(p.Blog, map[string]interface{}{ + "@context": asContext, + "actor": appConfig.Blogs[p.Blog].apIri(), + "id": p.fullURL() + "#announce", + "published": p.toASNote().Published, + "type": "Announce", + "object": p.fullURL(), + }) } func (p *post) apDelete() { - deleteActivity := make(map[string]interface{}) - deleteActivity["@context"] = asContext - deleteActivity["actor"] = appConfig.Blogs[p.Blog].apIri() - deleteActivity["id"] = p.fullURL() + "#delete" - deleteActivity["type"] = "Delete" - deleteActivity["object"] = map[string]string{ - "id": p.fullURL(), - "type": "Tombstone", - } - apSendToAllFollowers(p.Blog, deleteActivity) + apSendToAllFollowers(p.Blog, map[string]interface{}{ + "@context": asContext, + "actor": appConfig.Blogs[p.Blog].apIri(), + "id": p.fullURL() + "#delete", + "type": "Delete", + "object": map[string]string{ + "id": p.fullURL(), + "type": "Tombstone", + }, + }) } func apAccept(blogName string, blog *configBlog, follow map[string]interface{}) { @@ -366,13 +365,14 @@ func apAccept(blogName string, blog *configBlog, follow map[string]interface{}) apAddFollower(blogName, follower.ID, inbox) // remove @context from the inner activity delete(follow, "@context") - accept := make(map[string]interface{}) - accept["@context"] = asContext - accept["to"] = follow["actor"] + accept := map[string]interface{}{ + "@context": asContext, + "to": follow["actor"], + "actor": blog.apIri(), + "object": follow, + "type": "Accept", + } _, accept["id"] = apNewID(blog) - accept["actor"] = blog.apIri() - accept["object"] = follow - accept["type"] = "Accept" apQueueSendSigned(blog.apIri(), follower.Inbox, accept) } diff --git a/go.mod b/go.mod index ecfdd3f..d82206c 100644 --- a/go.mod +++ b/go.mod @@ -54,15 +54,15 @@ require ( github.com/yuin/goldmark-emoji v1.0.1 go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.16.0 // indirect - golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c // indirect - golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect + golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9 // indirect + golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 // indirect golang.org/x/mod v0.4.0 // indirect - golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb // indirect - golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9 - golang.org/x/sys v0.0.0-20201204225414-ed752295db88 // indirect - golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 // indirect + golang.org/x/net v0.0.0-20201207224615-747e23833adb // indirect + golang.org/x/sync v0.0.0-20201207232520-09787c993a3a + golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d // indirect + golang.org/x/term v0.0.0-20201207232118-ee85cb95a76b // indirect golang.org/x/text v0.3.4 // indirect - golang.org/x/tools v0.0.0-20201207204333-a835c872fcea // indirect + golang.org/x/tools v0.0.0-20201208062317-e652b2f42cc7 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/ini.v1 v1.62.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index 869e765..70f8745 100644 --- a/go.sum +++ b/go.sum @@ -368,8 +368,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c h1:9HhBz5L/UjnK9XLtiZhYAdue5BVKep3PMmS2LuPDt8k= -golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9 h1:sYNJzB4J8toYPQTM6pAkcmBRgw9SnQKP9oXCHfgy604= +golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -385,8 +385,8 @@ golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 h1:2M3HP5CCK1Si9FQhwnzYhXdG6DXeebvUHFpre8QvbyI= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -418,8 +418,8 @@ golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb h1:eBmm0M9fYhWpKZLjQUUKka/LtIxf46G4fxeEz5KJr9U= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201207224615-747e23833adb h1:xj2oMIbduz83x7tzglytWT7spn6rP+9hvKjTpro6/pM= +golang.org/x/net v0.0.0-20201207224615-747e23833adb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -432,6 +432,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9 h1:SQFwaSi55rU7vdNs9Yr0Z324VNlrF+0wMqRXT4St8ck= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a h1:DcqTD9SDLc+1P/r1EmRBwnVsrOwW+kk2vWf9n+1sGhs= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -454,12 +456,12 @@ golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c h1:UIcGWL6/wpCfyGuJnRFJRurA+ golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201204225414-ed752295db88 h1:KmZPnMocC93w341XZp26yTJg8Za7lhb2KhkYmixoeso= -golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d h1:MiWWjyhUzZ+jvhZvloX6ZrUsdEghn8a64Upd8EMHglE= +golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221 h1:/ZHdbVpdR/jk3g30/d4yUL0JU9kksj8+F/bnQUVLGDM= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20201207232118-ee85cb95a76b h1:a0ErnNnPKmhDyIXQvdZr+Lq8dc8xpMeqkF8y5PgQU4Q= +golang.org/x/term v0.0.0-20201207232118-ee85cb95a76b/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= @@ -494,8 +496,8 @@ golang.org/x/tools v0.0.0-20191216052735-49a3e744a425 h1:VvQyQJN0tSuecqgcIxMWnnf golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200410194907-79a7a3126eef/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20201207204333-a835c872fcea h1:LgKM3cNs8xO6GK1ZVK0nasPn7IN39Sz9EBTwQLyishk= -golang.org/x/tools v0.0.0-20201207204333-a835c872fcea/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208062317-e652b2f42cc7 h1:2OSu5vYyX4LVqZAtqZXnFEcN26SDKIJYlEVIRl1tj8U= +golang.org/x/tools v0.0.0-20201208062317-e652b2f42cc7/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= diff --git a/micropub.go b/micropub.go index 05b88f4..7e771af 100644 --- a/micropub.go +++ b/micropub.go @@ -285,7 +285,9 @@ func convertMPMfToPost(mf *microformatItem) (*post, error) { if len(mf.Type) != 1 || mf.Type[0] != "h-entry" { return nil, errors.New("only entry type is supported so far") } - entry := &post{} + entry := &post{ + Parameters: map[string][]string{}, + } // Content if mf.Properties != nil && len(mf.Properties.Content) == 1 && len(mf.Properties.Content[0]) > 0 { entry.Content = mf.Properties.Content[0] diff --git a/postsDb.go b/postsDb.go index 9fbc457..84fab05 100644 --- a/postsDb.go +++ b/postsDb.go @@ -286,7 +286,7 @@ func getPosts(config *postsRequestConfig) (posts []*post, err error) { defer func() { _ = rows.Close() }() - paths := make(map[string]int) + paths := map[string]int{} for rows.Next() { p := &post{} var parameterName, parameterValue string @@ -297,7 +297,7 @@ func getPosts(config *postsRequestConfig) (posts []*post, err error) { if paths[p.Path] == 0 { index := len(posts) paths[p.Path] = index + 1 - p.Parameters = make(map[string][]string) + p.Parameters = map[string][]string{} posts = append(posts, p) } if parameterName != "" && posts != nil { diff --git a/render.go b/render.go index 901088a..511a714 100644 --- a/render.go +++ b/render.go @@ -193,7 +193,7 @@ func initRendering() error { }, } - templates = make(map[string]*template.Template) + templates = map[string]*template.Template{} baseTemplatePath := path.Join(templatesDir, templateBase+templatesExt) err := filepath.Walk(templatesDir, func(p string, info os.FileInfo, err error) error {