1. Using Formspree with Euphoria

Formspree is free HTTP form-submission service. You can use this to anonymously send data from an POST form on a webpage.

I just started using this in The Euphoria Editor to provide automated and anonymous crash reporting.

Here's the code I threw together to submit my data via Formspree:

-- 
-- Formspree API 
-- https://formspree.io/ 
-- 
 
namespace formspree 
 
include std/console.e 
include std/filesys.e 
include std/io.e 
include std/net/http.e 
include std/net/url.e 
include std/search.e 
 
constant FORMSPREE_URL = "http://formspree.io/" 
 
public function submit( sequence addr, sequence name, sequence body, sequence referer, 
        sequence _subject = "", sequence _replyto = "", sequence _next = "", sequence _cc = "" ) 
 
    sequence fields = { {"name", name}, {"body", body} } 
    sequence header = { {"Referer", referer} } 
 
    if length( _subject ) then fields = append( fields, {"_subject", _subject} ) end if 
    if length( _replyto ) then fields = append( fields, {"_replyto", _replyto} ) end if 
    if length( _next    ) then fields = append( fields, {"_next",    _next}    ) end if 
    if length( _cc      ) then fields = append( fields, {"_cc",      _cc}      ) end if 
 
    sequence url = sprintf( "%s/%s", {FORMSPREE_URL,url:encode(addr)} ) 
 
    return http_post( url, fields, header ) 
end function 
 
public function test( sequence addr, sequence name, sequence body, sequence referer ) 
 
    sequence fields = { {"name", name}, {"body", body} } 
    sequence header = { {"Referer", referer} } 
 
    sequence url = sprintf( "%s%s", {FORMSPREE_URL,url:encode(addr)} ) 
 
    return http_post( url, fields, header ) 
end function 

To get started, you have to submit an initial test and verify your e-mail address:

constant my_addr = "ghaberek@gmail.com" 
constant my_name = "Gregory Haberek" 
constant message = "Message from Euphoria" 
constant referer = "http://example.com" 
formspree:test( my_addr, my_name, message, referer ) 

From there, you can call the submit() function with the extra parameters to send data to yourself from your application!

-Greg

new topic     » topic index » view message » categorize

2. Re: Using Formspree with Euphoria

The messages basically look like this:

Formspree said...

Hey there,

Someone just submitted your form on bitbucket.org/ghaberek/editor.

Here's what they had to say:


name: euphoria_editor

body: C:\Projects\editor\src\events.e:824 in function pgdn_cb()
attempt to divide by 0
self = 58617080
tabs = 58677448
count = 1
pos = 0
sci = 58635472
path = {}
field1 = 58678240

^^^ call-back from Windows

-Greg

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu