about summary refs log tree commit diff stats
path: root/profrc.example
blob: 88a04e508d99c563a074767a87eabd9d8aa3ec07 (plain) (blame)
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
[ui]
splash=true
intype=true
beep=false
statuses.muc=all
theme=boothj5
history=true
titlebar=true
mouse=false
flash=false
vercheck=false
statuses.console=all
statuses.chat=all

[connection]
autoping=60
reconnect=5
account=me@server.org

[chatstates]
enabled=true
outtype=false
gone=10

[notifications]
remind=60
invite=true
sub=true
message=true
room=mention
message.current=true
room.current=true
typing=true
typing.current=false
message.text=true
room.text=true

[alias]
friends=/who online friends
bob=/msg bob@server.org hey wassup?

[logging]
chlog=true
grlog=true
maxsize=1048580
rotate=true
shared=true

[otr]
warn=true
log=redact
policy=manual

[presence]
autoaway.mode=away
autoaway.time=15
autoaway.message=Away from computer
autoaway.check=true
) func apiErrCheck(err error, r *http.Request) { if err != nil { uip := getIPFromCtx(r.Context()) log.Printf("%v :: %v %v :: %v\n", uip, r.Method, r.URL, err) } } func apiErrCheck500(err error, w http.ResponseWriter, r *http.Request) { if err != nil { uip := getIPFromCtx(r.Context()) log.Printf("%v :: %v %v :: %v\n", uip, r.Method, r.URL, err) http.Error(w, err.Error(), http.StatusInternalServerError) } } // apiUserQuery is called via apiEndpointHandler when // the endpoint is "users" and r.FormValue("q") is not empty. // It queries the registry cache for users or user URLs // matching the term supplied via r.FormValue("q") func apiEndpointQuery(w http.ResponseWriter, r *http.Request) { query := r.FormValue("q") urls := r.FormValue("url") var out []string var out2 []string var err error vars := mux.Vars(r) endpoint := vars["endpoint"] // Handle user URL queries first, then nickname queries. // Concatenate both outputs if they're both set. // Also handle mention queries and status queries. // If we made it this far and 'default' is matched, // something went very wrong. switch endpoint { case "users": if urls != "" { out2, err = twtxtCache.QueryUser(urls) out = append(out, out2...) apiErrCheck(err, r) } if query != "" { out2, err = twtxtCache.QueryUser(query) out = append(out, out2...) apiErrCheck(err, r) } case "mentions": out, err = twtxtCache.QueryInStatus(query) apiErrCheck(err, r) case "tweets": out, err = twtxtCache.QueryInStatus(query) apiErrCheck(err, r) default: http.Error(w, "500", http.StatusInternalServerError) } // iterate over the output. if there aren't // explicit newlines, add them. var data []byte for _, e := range out { data = append(data, []byte(e)...) if !strings.HasSuffix(e, "\n") { data = append(data, byte('\n')) } } w.Header().Set("Content-Type", txtutf8) _, err = w.Write(data) apiErrCheck500(err, w, r) }