Ranking Alexa Global: # 3,486,987
Server:nginx...
The main IP address: 192.0.78.25,Your server United States,San Francisco ISP:Automattic Inc TLD:com CountryCode:US
The description :{ turning coffee into code }...
This report updates in 03-Aug-2018
Created Date: | 2011-02-21 |
Changed Date: | 2018-01-21 |
Geo IP provides you such as latitude, longitude and ISP (Internet Service Provider) etc. informations. Our GeoIP service found where is host thysmichels.com. Currently, hosted in United States and its service provider is Automattic Inc .
Latitude: | 37.748424530029 |
Longitude: | -122.41367340088 |
Country: | United States (US) |
City: | San Francisco |
Region: | California |
ISP: | Automattic Inc |
HTTP Header information is a part of HTTP protocol that a user's browser sends to called nginx containing the details of what the browser wants and will accept back from the web server.
X-nananana: | Batcache |
Transfer-Encoding: | chunked |
Strict-Transport-Security: | max-age=86400 |
Vary: | Accept-Encoding, Cookie |
X-ac: | 3.ewr _dca |
Server: | nginx |
Last-Modified: | Thu, 02 Aug 2018 22:05:32 GMT |
Connection: | keep-alive |
Link: | |
Cache-Control: | max-age=210, must-revalidate |
Date: | Thu, 02 Aug 2018 22:07:02 GMT |
X-hacker: | If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header. |
Content-Type: | text/html; charset=UTF-8 |
Content-Encoding: | gzip |
soa: | ns1.wordpress.com. hostmaster.wordpress.com. 2005071858 14400 7200 604800 300 |
ns: | ns1.wordpress.com. ns3.wordpress.com. ns2.wordpress.com. |
ipv4: | IP:192.0.78.25 ASN:2635 OWNER:AUTOMATTIC - Automattic, Inc, US Country:US IP:192.0.78.24 ASN:2635 OWNER:AUTOMATTIC - Automattic, Inc, US Country:US |
thys michels blog { turning coffee into code } menu home about background certifications presentations projects contact generating an email-to-case thread id using apex posted on february 9, 2018 leave a comment how to generate email-to-case thread id inside template: generate the thread id public static string getthreadid(string caseid){ public static string getthreadid(string caseid){ return '[ ref:_' + userinfo.getorganizationid().left(5) + userinfo.getorganizationid().mid(11,4) + '._' + caseid.left(5) + caseid.mid(10,5) + ':ref ]'; } send customemail and add threadid public void sendcustomemail(user selecteduser, contact selectedcontact, string templatename, map<string, string> customvariables){ emailtemplate emailtemplate = [select id, subject, htmlvalue, body from emailtemplate where developername=:templatename]; if (selectedcontact==null){ selectedcontact = selecteduser.contact; } string customsubject = emailtemplate.subject; if (customvariables.containskey('joincontactname')){ customsubject = customsubject.replace('{!jointcontactname}', customvariables.get('joincontactname')); } //add threadid to the subject if (customvariables.containskey('threadid')) { customsubject = customsubject.replace('{!threadid}', customvariables.get('threadid')); } string htmlbody = emailtemplate.htmlvalue; htmlbody = htmlbody.replace('{!contact.firstname}',selectedcontact.firstname); htmlbody = htmlbody.replace('{!contact.email}', selectedcontact.email); if (customvariables.containskey('link')){ htmlbody = htmlbody.replace('{!customurl}', customvariables.get('link')); } else if (customvariables.containskey('link')){ htmlbody = htmlbody.replace('{!customurl}', customvariables.get('link')); } else if (customvariables.containskey('joincontactname')){ htmlbody = htmlbody.replace('{!jointcontactname}', customvariables.get('joincontactname')); } //add threadid to the htmlbody if (customvariables.containskey('threadid')){ htmlbody = htmlbody.replace('{!threadid}', customvariables.get('threadid')); } string plainbody = emailtemplate.body; plainbody = plainbody.replace('{!contact.firstname}',selectedcontact.firstname); plainbody = plainbody.replace('{!contact.email}', selectedcontact.email); if (customvariables.containskey('link')){ plainbody = plainbody.replace('{!customurl}', customvariables.get('link')); } else if (customvariables.containskey('link')){ plainbody = plainbody.replace('{!customurl}', customvariables.get('link')); } else if (customvariables.containskey('joincontactname')){ plainbody = plainbody.replace('{!jointcontactname}', customvariables.get('joincontactname')); } //add the threadid to the plainbody if (customvariables.containskey('threadid')){ plainbody = plainbody.replace('{!threadid}', customvariables.get('threadid')); } messaging.singleemailmessage email = new messaging.singleemailmessage(); list<orgwideemailaddress> orgwideemailaddress = [select id, address from orgwideemailaddress where displayname=:orgwideemailaddressname]; //set replyto as the email-to-case email address if (customvariables.containskey('threadid')){ list<emailservicesaddress> emailservicesaddress = [select id,authorizedsenders,emaildomainname,isactive,localpart from emailservicesaddress where isactive=true and (localpart like '%service%' or localpart like '%support%')]; if (!emailservicesaddress.isempty()){ emailservicesaddress emailtocase = emailservicesaddress.get(0); email.setreplyto(emailtocase.localpart +'@'+ emailtocase.emaildomainname); email.setsenderdisplayname('client support'); } else { email.setreplyto('[email protected]'); email.setsenderdisplayname('client support'); } } email.settargetobjectid(selectedcontact.id); email.setsaveasactivity(true); email.setsubject(customsubject); email.sethtmlbody(htmlbody); email.setplaintextbody(plainbody); if (customvariables.containskey('whatid')){ email.setwhatid(customvariables.get('whatid')); } messaging.sendemail(new messaging.singleemailmessage[] {email}); } putting it all together map<string, string> mappingofcasefields = new map<string, string>(); mappingofcasefields.put('threadid', app_service.getthreadid(paymentcaseid)); app_service.instance.sendcustomemail(null, contact, 'app_support_template', mappingofcasefields); advertisements rate this: share this: email tumblr twitter facebook google linkedin like this: like loading... apex callout patch to heroku controller workaround posted on january 18, 2018 leave a comment setup a method to send aync call to heroku, add ‘?_httpmethod=patch’ to the path to notify heroku it’s a patch request @future(callout=true) public static void callapiendpointasync(string apiendpoint, string method, string apayload){ httprequest req = new httprequest(); list<string> theargs = new list<string>(); httpresponse res = new httpresponse(); try { if (apiendpoint != null) { req.settimeout(120000); if ('patch'.equals(method)){ apiendpoint += '?_httpmethod=patch'; req.setmethod('post'); } else { req.setmethod(method); } setauthheaderasync(req); req.setendpoint(herokuurl + apiendpoint); if (apayload!=null) req.setbody(string.valueof(apayload)); if (test.isrunningtest() && (mock!=null)) { mock.respond(req); } else { integer retry = 0; while (retry < 2){ http http = new http(); res = http.send(req); if (res.getstatuscode() >= 200 && res.getstatuscode() < 300) { retry +=2; } else if (res.getstatuscode()==503 || res.getstatuscode()==400){ retry +=1; res = http.send(req); } else { retry +=1; theargs.add('api'); theargs.add(req.getendpoint()); theargs.add(res.getbody()); } } throw new rest_exception(responsecodes_mgr.getcode('heroku_request_callout_failed', null, theargs)); } } else { system.debug('service apiendpoint and payload must not be null'); throw new rest_exception(responsecodes_mgr.getcode('heroku_request_callout_failed')); } } catch (exception ex) { theargs.add('api'); theargs.add(req.getendpoint()); theargs.add(res.getbody()); throw new rest_exception(responsecodes_mgr.getcode('heroku_request_callout_failed', ex, theargs)); } } spring controller checks the requestparam _httpmethod to see if it’s a post or patch request @requestmapping(value = "/customer", method = requestmethod.post, produces = "application/json") @responsebody @apioperation(value = "creates new payment customer") @apiresponses(value = {@apiresponse(code = 200, message = "creates new payment customer")}) public string createcustomer(@requestbody paymentcustomerwrapper paymentcustomerwrapper, @requestparam(value="_httpmethod", defaultvalue="post") string httpmethod) throws ioexception, urisyntaxexception { if (httpmethod!=null && "patch".equals(httpmethod)){ itslogger.debug("update payment customer {}", paymentcustomerwrapper.tostring()); return paymentservice.updatepaymentcustomer(paymentcustomerwrapper).tojson(); } else { itslogger.debug("create payment customer {}", paymentcustomerwrapper.tostring()); return paymentservice.createchargebeecustomer(paymentcustomerwrapper).tojson(); } } rate this: share this: email tumblr twitter facebook google linkedin like this: like loading... salesforce export metadata to csv posted on june 14, 2017 leave a comment exporting salesforce metadata to csv, iterate through sobject and fields and show label, api name, fls, custom/standard field. package com.app.salesforce.metadata; import com.app.salesforce.file.fileservice; import com.sforce.soap.partner.*; import com.sforce.ws.connectionexception; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.service; import java.io.file; import java.io.filewriter; import java.io.ioexception; import java.util.*; /** * created by thysmichels on 11/7/16. */ @service public class metadataservice { @autowired partnerconnection partnerconnection; @autowired fileservice fileservice; public void exportsobjectmetadata() throws connectionexception, ioexception { describeglobalresult describemetadataresult = partnerconnection.describeg
https://thysmichels.com/2017/06/02/apex-return-diff-fields-between-records/?share=facebook
https://thysmichels.com/2017/05/16/create-a-salesforce-eventbus/?share=linkedin
https://thysmichels.com/2017/05/24/fflib-simpledml-unable_to_lock_row-nested-try-catch/?share=email
https://thysmichels.com/2018/02/09/generating-an-email-to-case-thread-id-using-apex/?share=google-plus-1
https://thysmichels.com/2017/05/16/create-a-salesforce-eventbus/?share=twitter
https://thysmichels.com/2017/06/02/apex-return-diff-fields-between-records/?share=google-plus-1
https://thysmichels.com/2017/05/17/apex-caching-performance-impact/?share=twitter
https://thysmichels.com/2017/05/16/create-a-salesforce-eventbus/?share=tumblr
https://thysmichels.com/2017/05/31/apex-compare-two-records-and-merge-updated-fields/#respond
https://thysmichels.com/2017/06/14/salesforce-export-metadata-to-csv/?share=email
https://thysmichels.com/2018/02/09/generating-an-email-to-case-thread-id-using-apex/#respond
https://thysmichels.com/2018/01/18/apex-callout-patch-to-heroku-controller-workaround/?share=twitter
https://thysmichels.com/2017/06/14/salesforce-export-metadata-to-csv/?share=facebook
https://thysmichels.com/2017/06/04/heroku-deploy-local-jar-to-maven-dependencies/#respond
https://thysmichels.com/2017/05/15/apex-one-endpoint-to-rule-them-all/?share=linkedin
Whois is a protocol that is access to registering information. You can reach when the website was registered, when it will be expire, what is contact details of the site with the following informations. In a nutshell, it includes these informations;
Domain Name: THYSMICHELS.COM
Registry Domain ID: 1641330951_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.wildwestdomains.com
Registrar URL: http://www.wildwestdomains.com
Updated Date: 2018-01-21T07:43:06Z
Creation Date: 2011-02-21T08:53:10Z
Registry Expiry Date: 2019-02-21T08:53:10Z
Registrar: Wild West Domains, LLC
Registrar IANA ID: 440
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: 480-624-2505
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Name Server: NS1.WORDPRESS.COM
Name Server: NS2.WORDPRESS.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2018-08-20T03:27:24Z <<<
For more information on Whois status codes, please visit https://icann.org/epp
NOTICE: The expiration date displayed in this record is the date the
registrar's sponsorship of the domain name registration in the registry is
currently set to expire. This date does not necessarily reflect the expiration
date of the domain name registrant's agreement with the sponsoring
registrar. Users may consult the sponsoring registrar's Whois database to
view the registrar's reported date of expiration for this registration.
TERMS OF USE: You are not authorized to access or query our Whois
database through the use of electronic processes that are high-volume and
automated except as reasonably necessary to register domain names or
modify existing registrations; the Data in VeriSign Global Registry
Services' ("VeriSign") Whois database is provided by VeriSign for
information purposes only, and to assist persons in obtaining information
about or related to a domain name registration record. VeriSign does not
guarantee its accuracy. By submitting a Whois query, you agree to abide
by the following terms of use: You agree that you may use this Data only
for lawful purposes and that under no circumstances will you use this Data
to: (1) allow, enable, or otherwise support the transmission of mass
unsolicited, commercial advertising or solicitations via e-mail, telephone,
or facsimile; or (2) enable high volume, automated, electronic processes
that apply to VeriSign (or its computer systems). The compilation,
repackaging, dissemination or other use of this Data is expressly
prohibited without the prior written consent of VeriSign. You agree not to
use electronic processes that are automated and high-volume to access or
query the Whois database except as reasonably necessary to register
domain names or modify existing registrations. VeriSign reserves the right
to restrict your access to the Whois database in its sole discretion to ensure
operational stability. VeriSign may restrict or terminate your access to the
Whois database for failure to abide by these terms of use. VeriSign
reserves the right to modify these terms at any time.
The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.
REGISTRAR Wild West Domains, LLC
SERVERS
SERVER com.whois-servers.net
ARGS domain =thysmichels.com
PORT 43
TYPE domain
DOMAIN
NAME thysmichels.com
CHANGED 2018-01-21
CREATED 2011-02-21
STATUS
clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
clientRenewProhibited https://icann.org/epp#clientRenewProhibited
clientTransferProhibited https://icann.org/epp#clientTransferProhibited
clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
NSERVER
NS1.WORDPRESS.COM 198.181.116.9
NS2.WORDPRESS.COM 198.181.117.9
REGISTERED yes
The following list shows you to spelling mistakes possible of the internet users for the website searched .