Merge pull request #217 from NBTX/master

Add the ApolloTV proxy server
This commit is contained in:
John Harker
2019-10-25 21:22:20 +01:00
committed by GitHub
4 changed files with 10 additions and 62 deletions

View File

@@ -27,9 +27,6 @@ export default {
server: {
host: '0.0.0.0', // default: localhost
},
serverMiddleware: [
'~/proxy/index.js'
],
head: {
title: `${meta.name} \u2022 ${meta.shortDescription}`,
meta: [

View File

@@ -976,7 +976,7 @@ export default {
const config = this.$store.state.postwoman.settings.PROXY_ENABLED
? {
method: "POST",
url: `${window.location.protocol}//${window.location.host}/proxy`,
url: `https://postwoman.apollotv.xyz/`,
data: requestOptions
}
: requestOptions;

View File

@@ -48,6 +48,9 @@
</ul>
</pw-section>
<pw-section class="blue" icon="public" label="Proxy">
<ul class="info">
<li><p>Postwoman's Proxy is hosted by ApolloTV.<br>You can read the ApolloTV privacy policy by clicking <a href="https://apollotv.xyz/legal" target="_blank">here</a/>.</p></li>
</ul>
<ul>
<li>
<pw-toggle
@@ -75,6 +78,12 @@
</div>
</template>
<style scoped>
.info {
margin-left: 5px;
}
</style>
<script>
import section from "../components/section";
import swatch from "../components/settings/swatch";

View File

@@ -1,58 +0,0 @@
import express from 'express';
import bodyParser from 'body-parser';
import axios from 'axios';
const app = express();
app.use(bodyParser.json());
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', '*');
next();
});
app.post('/', async (req, res) => {
const {
method,
url,
auth,
headers,
data
} = req.body;
try {
const payload = await axios({
method,
url,
auth,
headers,
data
});
return await res.json({
data: payload.data,
status: payload.status,
statusText: payload.statusText,
headers: payload.headers,
});
} catch (error) {
if (error.response) {
const errorResponse = error.response;
return await res.json({
data: errorResponse.data,
status: errorResponse.status,
statusText: errorResponse.statusText,
headers: errorResponse.headers,
});
} else {
return res.status(500).send();
}
}
});
export default {
path: '/proxy',
handler: app
}