pass encode state to api instead of url

main
briandennis 7 years ago committed by Brian Dennis
parent fa5f5f7036
commit fe1df904ea

@ -80,9 +80,9 @@ Thanks goes out to all these wonderful people ([emoji key](https://github.com/ke
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore --> <!-- prettier-ignore -->
| [<img src="https://avatars0.githubusercontent.com/u/10078572?v=4" width="100px;"/><br /><sub><b>briandennis</b></sub>](https://github.com/briandennis)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=briandennis "Code") [πŸ“–](https://github.com/dawnlabs/carbon/commits?author=briandennis "Documentation") [πŸš‡](#infra-briandennis "Infrastructure (Hosting, Build-Tools, etc)") [πŸ‘€](#review-briandennis "Reviewed Pull Requests") | [<img src="https://avatars0.githubusercontent.com/u/8397708?v=4" width="100px;"/><br /><sub><b>mfix22</b></sub>](https://github.com/mfix22)<br />[πŸ’¬](#question-mfix22 "Answering Questions") [πŸ’»](https://github.com/dawnlabs/carbon/commits?author=mfix22 "Code") [πŸ€”](#ideas-mfix22 "Ideas, Planning, & Feedback") | [<img src="https://avatars1.githubusercontent.com/u/10369094?v=4" width="100px;"/><br /><sub><b>jakedex</b></sub>](https://github.com/jakedex)<br />[πŸ’¬](#question-jakedex "Answering Questions") [πŸ’»](https://github.com/dawnlabs/carbon/commits?author=jakedex "Code") [🎨](#design-jakedex "Design") [πŸ“Ή](#video-jakedex "Videos") | [<img src="https://avatars1.githubusercontent.com/u/10191084?v=4" width="100px;"/><br /><sub><b>andrewda</b></sub>](https://github.com/andrewda)<br />[πŸ’¬](#question-andrewda "Answering Questions") [πŸ’»](https://github.com/dawnlabs/carbon/commits?author=andrewda "Code") [πŸ›](https://github.com/dawnlabs/carbon/issues?q=author%3Aandrewda "Bug reports") [πŸ‘€](#review-andrewda "Reviewed Pull Requests") | [<img src="https://avatars2.githubusercontent.com/u/14703164?v=4" width="100px;"/><br /><sub><b>yeskunall</b></sub>](https://github.com/yeskunall)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=yeskunall "Code") [πŸ“–](https://github.com/dawnlabs/carbon/commits?author=yeskunall "Documentation") [πŸ”§](#tool-yeskunall "Tools") [πŸ›](https://github.com/dawnlabs/carbon/issues?q=author%3Ayeskunall "Bug reports") | [<img src="https://avatars1.githubusercontent.com/u/2652676?v=4" width="100px;"/><br /><sub><b>stoshfabricius</b></sub>](https://github.com/stoshfabricius)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=stoshfabricius "Code") | [<img src="https://avatars1.githubusercontent.com/u/11639896?v=4" width="100px;"/><br /><sub><b>jkling38</b></sub>](https://github.com/jkling38)<br />[πŸ“–](https://github.com/dawnlabs/carbon/commits?author=jkling38 "Documentation") | | [<img src="https://avatars0.githubusercontent.com/u/10078572?v=4" width="100px;"/><br /><sub><b>briandennis</b></sub>](https://github.com/briandennis)<br />[πŸ’»](/dawnlabs/carbon/commits?author=briandennis "Code") [πŸ“–](/dawnlabs/carbon/commits?author=briandennis "Documentation") [πŸš‡](#infra-briandennis "Infrastructure (Hosting, Build-Tools, etc)") [πŸ‘€](#review-briandennis "Reviewed Pull Requests") | [<img src="https://avatars0.githubusercontent.com/u/8397708?v=4" width="100px;"/><br /><sub><b>mfix22</b></sub>](https://github.com/mfix22)<br />[πŸ’¬](#question-mfix22 "Answering Questions") [πŸ’»](/dawnlabs/carbon/commits?author=mfix22 "Code") [πŸ€”](#ideas-mfix22 "Ideas, Planning, & Feedback") | [<img src="https://avatars1.githubusercontent.com/u/10369094?v=4" width="100px;"/><br /><sub><b>jakedex</b></sub>](https://github.com/jakedex)<br />[πŸ’¬](#question-jakedex "Answering Questions") [πŸ’»](/dawnlabs/carbon/commits?author=jakedex "Code") [🎨](#design-jakedex "Design") [πŸ“Ή](#video-jakedex "Videos") | [<img src="https://avatars1.githubusercontent.com/u/10191084?v=4" width="100px;"/><br /><sub><b>andrewda</b></sub>](https://github.com/andrewda)<br />[πŸ’¬](#question-andrewda "Answering Questions") [πŸ’»](/dawnlabs/carbon/commits?author=andrewda "Code") [πŸ›](/dawnlabs/carbon/issues?q=author%3Aandrewda "Bug reports") [πŸ‘€](#review-andrewda "Reviewed Pull Requests") | [<img src="https://avatars2.githubusercontent.com/u/14703164?v=4" width="100px;"/><br /><sub><b>yeskunall</b></sub>](https://github.com/yeskunall)<br />[πŸ’»](/dawnlabs/carbon/commits?author=yeskunall "Code") [πŸ“–](/dawnlabs/carbon/commits?author=yeskunall "Documentation") [πŸ”§](#tool-yeskunall "Tools") [πŸ›](/dawnlabs/carbon/issues?q=author%3Ayeskunall "Bug reports") | [<img src="https://avatars1.githubusercontent.com/u/2652676?v=4" width="100px;"/><br /><sub><b>stoshfabricius</b></sub>](https://github.com/stoshfabricius)<br />[πŸ’»](/dawnlabs/carbon/commits?author=stoshfabricius "Code") | [<img src="https://avatars1.githubusercontent.com/u/11639896?v=4" width="100px;"/><br /><sub><b>jkling38</b></sub>](https://github.com/jkling38)<br />[πŸ“–](/dawnlabs/carbon/commits?author=jkling38 "Documentation") |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| [<img src="https://avatars1.githubusercontent.com/u/225946?v=4" width="100px;"/><br /><sub><b>otobrglez</b></sub>](https://github.com/otobrglez)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=otobrglez "Code") | [<img src="https://avatars3.githubusercontent.com/u/11488612?v=4" width="100px;"/><br /><sub><b>darahak</b></sub>](https://github.com/darahak)<br />[πŸ“–](https://github.com/dawnlabs/carbon/commits?author=darahak "Documentation") | [<img src="https://avatars0.githubusercontent.com/u/246651?v=4" width="100px;"/><br /><sub><b>dom96</b></sub>](https://github.com/dom96)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=dom96 "Code") | [<img src="https://avatars3.githubusercontent.com/u/784056?v=4" width="100px;"/><br /><sub><b>elrumordelaluz</b></sub>](https://github.com/elrumordelaluz)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=elrumordelaluz "Code") | [<img src="https://avatars2.githubusercontent.com/u/21217?v=4" width="100px;"/><br /><sub><b>cjb</b></sub>](https://github.com/cjb)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=cjb "Code") | [<img src="https://avatars1.githubusercontent.com/u/5427083?v=4" width="100px;"/><br /><sub><b>Krzysztof-Cieslak</b></sub>](https://github.com/Krzysztof-Cieslak)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=Krzysztof-Cieslak "Code") | [<img src="https://avatars0.githubusercontent.com/u/2369851?v=4" width="100px;"/><br /><sub><b>fernahh</b></sub>](https://github.com/fernahh)<br />[πŸ“–](https://github.com/dawnlabs/carbon/commits?author=fernahh "Documentation") | | [<img src="https://avatars1.githubusercontent.com/u/225946?v=4" width="100px;"/><br /><sub><b>otobrglez</b></sub>](https://github.com/otobrglez)<br />[πŸ’»](/dawnlabs/carbon/commits?author=otobrglez "Code") | [<img src="https://avatars3.githubusercontent.com/u/11488612?v=4" width="100px;"/><br /><sub><b>darahak</b></sub>](https://github.com/darahak)<br />[πŸ“–](/dawnlabs/carbon/commits?author=darahak "Documentation") | [<img src="https://avatars0.githubusercontent.com/u/246651?v=4" width="100px;"/><br /><sub><b>dom96</b></sub>](https://github.com/dom96)<br />[πŸ’»](/dawnlabs/carbon/commits?author=dom96 "Code") | [<img src="https://avatars3.githubusercontent.com/u/784056?v=4" width="100px;"/><br /><sub><b>elrumordelaluz</b></sub>](https://github.com/elrumordelaluz)<br />[πŸ’»](/dawnlabs/carbon/commits?author=elrumordelaluz "Code") | [<img src="https://avatars2.githubusercontent.com/u/21217?v=4" width="100px;"/><br /><sub><b>cjb</b></sub>](https://github.com/cjb)<br />[πŸ’»](/dawnlabs/carbon/commits?author=cjb "Code") | [<img src="https://avatars1.githubusercontent.com/u/5427083?v=4" width="100px;"/><br /><sub><b>Krzysztof-Cieslak</b></sub>](https://github.com/Krzysztof-Cieslak)<br />[πŸ’»](/dawnlabs/carbon/commits?author=Krzysztof-Cieslak "Code") | [<img src="https://avatars0.githubusercontent.com/u/2369851?v=4" width="100px;"/><br /><sub><b>fernahh</b></sub>](https://github.com/fernahh)<br />[πŸ“–](/dawnlabs/carbon/commits?author=fernahh "Documentation") |
| [<img src="https://avatars1.githubusercontent.com/u/10941033?v=4" width="100px;"/><br /><sub><b>g3r4n</b></sub>](https://github.com/g3r4n)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=g3r4n "Code") | [<img src="https://avatars0.githubusercontent.com/u/55830?v=4" width="100px;"/><br /><sub><b>Mat Gadd</b></sub>](http://drarok.com/)<br />[πŸ›](https://github.com/dawnlabs/carbon/issues?q=author%3ADrarok "Bug reports") [πŸ’»](https://github.com/dawnlabs/carbon/commits?author=Drarok "Code") | [<img src="https://avatars1.githubusercontent.com/u/11805775?v=4" width="100px;"/><br /><sub><b>Brad Davies</b></sub>](https://bradlab.co.uk)<br />[πŸ›](https://github.com/dawnlabs/carbon/issues?q=author%3Avarbrad "Bug reports") [πŸ’»](https://github.com/dawnlabs/carbon/commits?author=varbrad "Code") | [<img src="https://avatars1.githubusercontent.com/u/9087886?v=4" width="100px;"/><br /><sub><b>Rafael CΓ’mara</b></sub>](http://www.rafaelcamaram.com/)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=rafaelcamaram "Code") | [<img src="https://avatars1.githubusercontent.com/u/2212006?v=4" width="100px;"/><br /><sub><b>Gleb Bahmutov</b></sub>](https://glebbahmutov.com/)<br />[⚠️](https://github.com/dawnlabs/carbon/commits?author=bahmutov "Tests") [πŸ”§](#tool-bahmutov "Tools") | [<img src="https://avatars2.githubusercontent.com/u/10677789?v=4" width="100px;"/><br /><sub><b>IvΓ‘n MunguΓ­a</b></sub>](https://ivan-munguia.netlify.com)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=warborn "Code") | [<img src="https://avatars1.githubusercontent.com/u/2755722?v=4" width="100px;"/><br /><sub><b>Dillon Mulroy</b></sub>](https://dillonmulroy.com)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=dmmulroy "Code") | | [<img src="https://avatars1.githubusercontent.com/u/10941033?v=4" width="100px;"/><br /><sub><b>g3r4n</b></sub>](https://github.com/g3r4n)<br />[πŸ’»](/dawnlabs/carbon/commits?author=g3r4n "Code") | [<img src="https://avatars0.githubusercontent.com/u/55830?v=4" width="100px;"/><br /><sub><b>Mat Gadd</b></sub>](http://drarok.com/)<br />[πŸ›](/dawnlabs/carbon/issues?q=author%3ADrarok "Bug reports") [πŸ’»](/dawnlabs/carbon/commits?author=Drarok "Code") | [<img src="https://avatars1.githubusercontent.com/u/11805775?v=4" width="100px;"/><br /><sub><b>Brad Davies</b></sub>](https://bradlab.co.uk)<br />[πŸ›](/dawnlabs/carbon/issues?q=author%3Avarbrad "Bug reports") [πŸ’»](/dawnlabs/carbon/commits?author=varbrad "Code") | [<img src="https://avatars1.githubusercontent.com/u/9087886?v=4" width="100px;"/><br /><sub><b>Rafael CΓ’mara</b></sub>](http://www.rafaelcamaram.com/)<br />[πŸ’»](/dawnlabs/carbon/commits?author=rafaelcamaram "Code") | [<img src="https://avatars1.githubusercontent.com/u/2212006?v=4" width="100px;"/><br /><sub><b>Gleb Bahmutov</b></sub>](https://glebbahmutov.com/)<br />[⚠️](/dawnlabs/carbon/commits?author=bahmutov "Tests") [πŸ”§](#tool-bahmutov "Tools") | [<img src="https://avatars2.githubusercontent.com/u/10677789?v=4" width="100px;"/><br /><sub><b>IvΓ‘n MunguΓ­a</b></sub>](https://ivan-munguia.netlify.com)<br />[πŸ’»](/dawnlabs/carbon/commits?author=warborn "Code") | [<img src="https://avatars1.githubusercontent.com/u/2755722?v=4" width="100px;"/><br /><sub><b>Dillon Mulroy</b></sub>](https://dillonmulroy.com)<br />[πŸ’»](/dawnlabs/carbon/commits?author=dmmulroy "Code") |
| [<img src="https://avatars2.githubusercontent.com/u/253398?v=4" width="100px;"/><br /><sub><b>Nihad Abbasov</b></sub>](https://github.com/NARKOZ)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=NARKOZ "Code") | [<img src="https://avatars1.githubusercontent.com/u/7328625?v=4" width="100px;"/><br /><sub><b>Hugo Torzuoli</b></sub>](https://torzuolih.github.io)<br />[πŸ“–](https://github.com/dawnlabs/carbon/commits?author=TorzuoliH "Documentation") | [<img src="https://avatars1.githubusercontent.com/u/1906977?v=4" width="100px;"/><br /><sub><b>Bruno C. Couto</b></sub>](https://github.com/bruno02221)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=bruno02221 "Code") | [<img src="https://avatars2.githubusercontent.com/u/13263073?v=4" width="100px;"/><br /><sub><b>Mark Molnar</b></sub>](https://github.com/molnarmark)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=molnarmark "Code") | [<img src="https://avatars1.githubusercontent.com/u/1459450?v=4" width="100px;"/><br /><sub><b>Takahiko Inayama</b></sub>](https://www.behance.net/tetra2000)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=TETRA2000 "Code") | [<img src="https://avatars1.githubusercontent.com/u/14319020?v=4" width="100px;"/><br /><sub><b>FranΓ§ois Martin</b></sub>](https://github.com/martinfrancois)<br />[πŸ’»](https://github.com/dawnlabs/carbon/commits?author=martinfrancois "Code") | | [<img src="https://avatars2.githubusercontent.com/u/253398?v=4" width="100px;"/><br /><sub><b>Nihad Abbasov</b></sub>](https://github.com/NARKOZ)<br />[πŸ’»](/dawnlabs/carbon/commits?author=NARKOZ "Code") | [<img src="https://avatars1.githubusercontent.com/u/7328625?v=4" width="100px;"/><br /><sub><b>Hugo Torzuoli</b></sub>](https://torzuolih.github.io)<br />[πŸ“–](/dawnlabs/carbon/commits?author=TorzuoliH "Documentation") | [<img src="https://avatars1.githubusercontent.com/u/1906977?v=4" width="100px;"/><br /><sub><b>Bruno C. Couto</b></sub>](https://github.com/bruno02221)<br />[πŸ’»](/dawnlabs/carbon/commits?author=bruno02221 "Code") | [<img src="https://avatars2.githubusercontent.com/u/13263073?v=4" width="100px;"/><br /><sub><b>Mark Molnar</b></sub>](https://github.com/molnarmark)<br />[πŸ’»](/dawnlabs/carbon/commits?author=molnarmark "Code") | [<img src="https://avatars1.githubusercontent.com/u/1459450?v=4" width="100px;"/><br /><sub><b>Takahiko Inayama</b></sub>](https://www.behance.net/tetra2000)<br />[πŸ’»](/dawnlabs/carbon/commits?author=TETRA2000 "Code") | [<img src="https://avatars1.githubusercontent.com/u/14319020?v=4" width="100px;"/><br /><sub><b>FranΓ§ois Martin</b></sub>](https://github.com/martinfrancois)<br />[πŸ’»](/dawnlabs/carbon/commits?author=martinfrancois "Code") |
<!-- ALL-CONTRIBUTORS-LIST:END --> <!-- ALL-CONTRIBUTORS-LIST:END -->

@ -1,11 +1,13 @@
const port = parseInt(process.env.PORT, 10) || 3000
module.exports = browser => async (req, res) => { module.exports = browser => async (req, res) => {
let page = await browser.newPage() let page = await browser.newPage()
let url = req.body.url let state = req.body.state
if (!url) res.status(400).send() if (!state) res.status(400).send()
try { try {
await page.goto(url) await page.goto(`http://localhost:${port}?state=${state}`)
await page.addScriptTag({ path: `./lib/customDomToImage.js` }) await page.addScriptTag({ path: `./lib/customDomToImage.js` })
const targetElement = await page.$('#export-container') const targetElement = await page.$('#export-container')

@ -26,8 +26,8 @@ async function tweet(encodedImage) {
.catch(checkIfRateLimited) .catch(checkIfRateLimited)
} }
async function image(url) { async function image(state) {
return axios.post(`${DOMAIN}/image`, { url }).then(res => res.data.dataUrl) return axios.post(`${DOMAIN}/image`, { state }).then(res => res.data.dataUrl)
} }
const getGist = uid => { const getGist = uid => {

@ -46,8 +46,7 @@ const reverseMappings = mappings.map(mapping =>
}) })
) )
export const serializeState = state => {
const serializeState = state => {
const stateString = encodeURIComponent(JSON.stringify(state)) const stateString = encodeURIComponent(JSON.stringify(state))
return typeof window !== 'undefined' return typeof window !== 'undefined'
@ -55,7 +54,7 @@ const serializeState = state => {
: Buffer.from(stateString).toString('base64') : Buffer.from(stateString).toString('base64')
} }
const deserializeState = serializedState => { export const deserializeState = serializedState => {
let stateString let stateString
if (typeof window !== 'undefined') { if (typeof window !== 'undefined') {
stateString = atob(serializedState) stateString = atob(serializedState)

@ -33,7 +33,7 @@ import {
DEFAULT_BG_COLOR, DEFAULT_BG_COLOR,
DEFAULT_SETTINGS DEFAULT_SETTINGS
} from '../lib/constants' } from '../lib/constants'
import { getQueryStringState, updateQueryString } from '../lib/routing' import { getQueryStringState, updateQueryString, serializeState } from '../lib/routing'
import { getState, saveState } from '../lib/util' import { getState, saveState } from '../lib/util'
const removeQueryString = str => { const removeQueryString = str => {
@ -79,6 +79,7 @@ class Editor extends React.Component {
this.updateTitleBar = this.updateTitleBar.bind(this) this.updateTitleBar = this.updateTitleBar.bind(this)
this.updateAspectRatio = this.updateAspectRatio.bind(this) this.updateAspectRatio = this.updateAspectRatio.bind(this)
this.resetDefaultSettings = this.resetDefaultSettings.bind(this) this.resetDefaultSettings = this.resetDefaultSettings.bind(this)
this.getCarbonImage = this.getCarbonImage.bind(this)
} }
componentDidMount() { componentDidMount() {
@ -104,12 +105,13 @@ class Editor extends React.Component {
//if safari, get image from api //if safari, get image from api
if ( if (
navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Safari') != -1 &&
navigator.userAgent.indexOf('Chrome') == -1 navigator.userAgent.indexOf('Chrome') == -1 &&
format === 'png'
) { ) {
return api.image(window.location.href) const encodedState = serializeState(this.state)
return api.image(encodedState)
} }
const node = document.getElementById('export-container') const node = document.getElementById('export-container')
const exportSize = (EXPORT_SIZES_HASH[this.state.exportSize] || DEFAULT_EXPORT_SIZE).value const exportSize = (EXPORT_SIZES_HASH[this.state.exportSize] || DEFAULT_EXPORT_SIZE).value

Loading…
Cancel
Save