Skip to content

Instantly share code, notes, and snippets.

View alexandremjacques's full-sized avatar

Alexandre Jacques alexandremjacques

  • São Paulo, Brazil
View GitHub Profile
@alexandremjacques
alexandremjacques / application.js
Created July 18, 2017 13:39
Normalize Ember responses (inserts root element) to comply with Ember Data RESTAdapter
import Ember from 'ember'
import DS from 'ember-data';
const { RESTSerializer } = DS
const { Inflector } = Ember
export default RESTSerializer.extend({
normalizeResponse(store, primaryModelClass, payload, id, requestType) {
let newPayload = {}
if(Array.isArray(payload)) {
@alexandremjacques
alexandremjacques / a2dp.py
Created June 5, 2017 14:31 — forked from pylover/a2dp.py
Fixing bluetooth stereo headphone/headset problem in ubuntu 16.04, 16.10 and also debian jessie, with bluez5.
#! /usr/bin/env python3.5
"""
Fixing bluetooth stereo headphone/headset problem in ubuntu 16.04 and also debian jessie, with bluez5.
Workaround for bug: https://bugs.launchpad.net/ubuntu/+source/indicator-sound/+bug/1577197
Run it with python3.5 or higher after pairing/connecting the bluetooth stereo headphone.
This will be only fixes the bluez5 problem mentioned above .
@alexandremjacques
alexandremjacques / jenkins_ci_on_ubuntu.md
Created April 29, 2017 02:24 — forked from ostinelli/jenkins_ci_on_ubuntu.md
Setup Jenkins CI on Ubuntu.

Jenkins CI

Instructions on how to setup a secured Jenkins CI.

Install Jenkins

$ wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
$ sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list$ .d/jenkins.list'
$ sudo apt-get update
$ sudo apt-get install jenkins
@alexandremjacques
alexandremjacques / cors_java_ex_3.java
Created December 29, 2016 10:50
CORS + Java example 3
public RestDemoJaxRsApplication(){
register(CORSResponseFilter.class);
}
@alexandremjacques
alexandremjacques / cors_java_example_2.java
Last active December 29, 2016 10:49
CORS + Java example 2
package org.codingpedia.demo.rest.util;
import java.io.IOException;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerResponseContext;
import javax.ws.rs.container.ContainerResponseFilter;
import javax.ws.rs.core.MultivaluedMap;
public class CORSResponseFilter implements ContainerResponseFilter {
@alexandremjacques
alexandremjacques / cors_java_ex_1.java
Created December 29, 2016 10:46
CORS + Java example 1
@GET
@Path("{id}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Response getPodcastById(@PathParam("id") Long id, @QueryParam("detailed") boolean detailed)
throws IOException, AppException {
Podcast podcastById = podcastService.getPodcastById(id);
return Response.ok() //200
.entity(podcastById, detailed ? new Annotation[]{PodcastDetailedView.Factory.get()} : new Annotation[0])
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT")
@alexandremjacques
alexandremjacques / php_cors_example_1.php
Created December 29, 2016 10:42
PHP + CORS 1xample 1
<?php
namespace App\Http\Middleware;
use Closure;
class Cors {
public function handle($request, Closure $next)
{
return $next($request)
@alexandremjacques
alexandremjacques / php_artistisian_cors.sh
Created December 29, 2016 10:39
PHP + Laravel + Cors
php artisan make:middleware Cors
@alexandremjacques
alexandremjacques / node_express_cors.js
Created December 29, 2016 10:37
Node + Express + cors
var express = require('express')
, cors = require('cors')
, app = express();
app.options('/products/:id', cors()); // enable pre-flight request for DELETE request
app.del('/products/:id', cors(), function(req, res, next){
res.json({msg: 'This is CORS-enabled for all origins!'});
});
app.listen(80, function(){
@alexandremjacques
alexandremjacques / cors_preflight_header_ex_2.txt
Created December 29, 2016 10:35
CORS pre-flight header example 2
HTTP/1.1 200 OK
Date: Wed, 20 Nov 2013 19:36:00 GMT
Server: Apache-Coyote/1.1
Content-Length: 0
Connection: keep-alive
Access-Control-Allow-Origin: http://dev.meudominio.com.br
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400