Skip to content

Instantly share code, notes, and snippets.

@NomadBlacky
Created February 11, 2019 08:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NomadBlacky/ae1ed451194b7f01068ad4126d660cc7 to your computer and use it in GitHub Desktop.
Save NomadBlacky/ae1ed451194b7f01068ad4126d660cc7 to your computer and use it in GitHub Desktop.
import akka.actor.ActorSystem
import akka.stream.ActorMaterializer
import com.typesafe.scalalogging.StrictLogging
import net.logstash.logback.marker.Markers
import org.slf4j.Marker
import play.api.libs.ws.StandaloneWSResponse
import play.api.libs.ws.ahc.{StandaloneAhcWSClient, StandaloneAhcWSRequest}
import scala.concurrent.ExecutionContext.Implicits.global
import scala.util.{Failure, Success}
object PlayWSLogging extends App with StrictLogging with WSResponseMarkerGen {
implicit val system: ActorSystem = ActorSystem()
system.registerOnTermination {
System.exit(0)
}
implicit val materializer: ActorMaterializer = ActorMaterializer()
val ws = StandaloneAhcWSClient()
val request = StandaloneAhcWSRequest(ws, "https://www.google.com")
logger.info(Markers.append("http_request", request), "Execute HTTP request")
val resultF = request.execute()
resultF
.andThen {
case Success(response) =>
logger.info(genMarker(response), "Received HTTP response")
case Failure(exception) =>
logger.error("Failed HTTP request", exception)
}
.andThen { case _ => ws.close() }
.andThen { case _ => system.terminate() }
}
trait WSResponseMarkerGen {
def genMarker(response: StandaloneWSResponse): Marker = {
Markers.append("http_response", Map(
"status" -> response.status,
"headers" -> response.headers,
"cookies" -> response.cookies,
"body" -> response.body
))
}
}
@NomadBlacky
Copy link
Author

NomadBlacky commented Feb 11, 2019

output

{
  "@timestamp" : "2019-02-11T17:35:41.007+09:00",
  "@version" : "1",
  "message" : "Execute HTTP request",
  "logger_name" : "PlayWSLogging$",
  "thread_name" : "main",
  "level" : "INFO",
  "level_value" : 20000,
  "http_request" : {
    "client" : { },
    "url" : "https://www.google.com",
    "method" : "GET",
    "body" : { },
    "headers" : { },
    "queryString" : { },
    "cookies" : [ ],
    "calc" : null,
    "auth" : null,
    "followRedirects" : null,
    "requestTimeout" : null,
    "virtualHost" : null,
    "proxyServer" : null,
    "disableUrlEncoding" : null,
    "uri" : "https://www.google.com"
  }
}
{
  "@timestamp" : "2019-02-11T17:35:41.792+09:00",
  "@version" : "1",
  "message" : "\n\nRequest DefaultFullHttpRequest(decodeResult: success, version: HTTP/1.1, content: EmptyByteBufBE)\nGET / HTTP/1.1\nhost: www.google.com\naccept: */*\nuser-agent: AHC/2.1\n\nResponse DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)\nHTTP/1.1 200 OK\nDate: Mon, 11 Feb 2019 08:35:41 GMT\nExpires: -1\nCache-Control: private, max-age=0\nContent-Type: text/html; charset=ISO-8859-1\nP3P: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\nServer: gws\nX-XSS-Protection: 1; mode=block\nX-Frame-Options: SAMEORIGIN\nSet-Cookie: 1P_JAR=2019-02-11-08; expires=Wed, 13-Mar-2019 08:35:41 GMT; path=/; domain=.google.com\nSet-Cookie: NID=158=Dh-Io3ajjTIO8ZUvH1chG0RTErn3FywDRsIhP-tDtZGATf6n644Mx6SXbgqhhkP1TE0V7zKUclHG8c22D9jwm4iwvlfdfmpZROlGqcot1oJG5CNf_uwWD2xE8ZOSqunn6wH4ZWXifSexnDv8qxCK-T8cs9zq56GyP3YL-cHUR-w; expires=Tue, 13-Aug-2019 08:35:41 GMT; path=/; domain=.google.com; HttpOnly\nAlt-Svc: quic=\":443\"; ma=2592000; v=\"44,43,39\"\nAccept-Ranges: none\nVary: Accept-Encoding\nTransfer-Encoding: chunked\n",
  "logger_name" : "play.shaded.ahc.org.asynchttpclient.netty.handler.HttpHandler",
  "thread_name" : "AsyncHttpClient-3-1",
  "level" : "DEBUG",
  "level_value" : 10000
}
{
  "@timestamp" : "2019-02-11T17:35:41.826+09:00",
  "@version" : "1",
  "message" : "Received HTTP response",
  "logger_name" : "PlayWSLogging$",
  "thread_name" : "scala-execution-context-global-19",
  "level" : "INFO",
  "level_value" : 20000,
  "http_response" : {
    "status" : 200,
    "headers" : {
      "P3P" : [ "CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"" ],
      "Date" : [ "Mon, 11 Feb 2019 08:35:41 GMT" ],
      "Vary" : [ "Accept-Encoding" ],
      "Server" : [ "gws" ],
      "Alt-Svc" : [ "quic=\":443\"; ma=2592000; v=\"44,43,39\"" ],
      "Expires" : [ "-1" ],
      "Set-Cookie" : [ "1P_JAR=2019-02-11-08; expires=Wed, 13-Mar-2019 08:35:41 GMT; path=/; domain=.google.com", "NID=158=Dh-Io3ajjTIO8ZUvH1chG0RTErn3FywDRsIhP-tDtZGATf6n644Mx6SXbgqhhkP1TE0V7zKUclHG8c22D9jwm4iwvlfdfmpZROlGqcot1oJG5CNf_uwWD2xE8ZOSqunn6wH4ZWXifSexnDv8qxCK-T8cs9zq56GyP3YL-cHUR-w; expires=Tue, 13-Aug-2019 08:35:41 GMT; path=/; domain=.google.com; HttpOnly" ],
      "Content-Type" : [ "text/html; charset=ISO-8859-1" ],
      "Accept-Ranges" : [ "none" ],
      "Cache-Control" : [ "private, max-age=0" ],
      "X-Frame-Options" : [ "SAMEORIGIN" ],
      "X-XSS-Protection" : [ "1; mode=block" ],
      "Transfer-Encoding" : [ "chunked" ]
    },
    "cookies" : [ {
      "name" : "1P_JAR",
      "value" : "2019-02-11-08",
      "domain" : ".google.com",
      "path" : "/",
      "maxAge" : 2592000,
      "secure" : false,
      "httpOnly" : false
    }, {
      "name" : "NID",
      "value" : "158=Dh-Io3ajjTIO8ZUvH1chG0RTErn3FywDRsIhP-tDtZGATf6n644Mx6SXbgqhhkP1TE0V7zKUclHG8c22D9jwm4iwvlfdfmpZROlGqcot1oJG5CNf_uwWD2xE8ZOSqunn6wH4ZWXifSexnDv8qxCK-T8cs9zq56GyP3YL-cHUR-w",
      "domain" : ".google.com",
      "path" : "/",
      "maxAge" : 15811200,
      "secure" : false,
      "httpOnly" : true
    } ],
    "body" : "<!doctype html><html itemscope=\"\" itemtype=\"http://schema.org/WebPage\" lang=\"ja\"><head><meta content=\"&#19990;&#30028;&#20013;&#12398;&#12354;&#12425;&#12422;&#12427;&#24773;&#22577;&#12434;&#26908;&#32034;&#12377;&#12427;&#12383;&#12417;&#12398;&#12484;&#12540;&#12523;&#12434;&#25552;&#20379;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12373;&#12414;&#12374;&#12414;&#12394;&#26908;&#32034;&#27231;&#33021;&#12434;&#27963;&#29992;&#12375;&#12390;&#12289;&#12362;&#25506;&#12375;&#12398;&#24773;&#22577;&#12434;&#35211;&#12388;&#12369;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;\" name=\"description\"><meta content=\"noodp\" name=\"robots\"><meta content=\"text/html; charset=UTF-8\" http-equiv=\"Content-Type\"><meta content=\"/images/branding/googleg/1x/googleg_standard_color_128dp.png\" itemprop=\"image\"><title>Google</title><script nonce=\"r9T7aXfjUFfnVf6BL1hW2A==\">(function(){window.google={kEI:'3TNhXJPhLYT48QXI87eIAw',kEXPI:'0,1353747,2014,1017,1406,546,152,527,731,1449,349,30,695,533,805,89,992,103,2335060,329570,1294,12383,4855,32691,15248,867,12163,5281,9048,2192,363,530,636,2154,5505,2442,260,1028,4081,573,835,284,2,1306,2432,1361,4323,3391,7,960,609,774,2250,2821,1923,1151,2,983,762,220,2595,182,283,556,2580,669,1050,1808,1129,268,81,7,28,463,620,29,1010,369,16,458,3204,644,2916,478,1209,317,559,412,2,554,2634,381,1,437,91,705,11,1209,38,363,557,718,28,127,1217,1364,342,1,141,47,1080,542,2194,1662,1141,258,2,366,265,218,2344,2,4,2,670,44,129,39,166,601,18,519,2,713,349,249,97,1422,479,2607,632,448,16,950,44,227,79,25,330,637,128,20,317,23,9,223,2,423,103,2384,204,332,207,21,336,177,73,327,40,457,436,3,310,449,208,216,332,64,34,392,30,471,157,90,57,2,283,130,201,13,33,36,267,98,4,58,194,369,206,7,124,90,115,61,131,5962321,1874,680,235,20,1,5997579,2799951,4,1572,549,333,444,1,2,80,1,900,583,9,304,1,8,1,2,2132,1,1,1,1,1,414,1,748,141,59,726,3,7,563,1,616,22,62,7,22,4,14',authuser:0,kscs:'c9c918f0_3TNhXJPhLYT48QXI87eIAw',kGL:'JP'};google.kHL='ja';})();google.time=function(){return(new Date).getTime()};(function(){google.lc=[];google.li=0;google.getEI=function(a){for(var b;a&&(!a.getAttribute||!(b=a.getAttribute(\"eid\")));)a=a.parentNode;return b||google.kEI};google.getLEI=function(a){for(var b=null;a&&(!a.getAttribute||!(b=a.getAttribute(\"leid\")));)a=a.parentNode;return b};google.https=function(){return\"https:\"==window.location.protocol};google.ml=function(){return null};google.log=function(a,b,e,c,g){if(a=google.logUrl(a,b,e,c,g)){b=new Image;var d=google.lc,f=google.li;d[f]=b;b.onerror=b.onload=b.onabort=function(){delete d[f]};google.vel&&google.vel.lu&&google.vel.lu(a);b.src=a;google.li=f+1}};google.logUrl=function(a,b,e,c,g){var d=\"\",f=google.ls||\"\";e||-1!=b.search(\"&ei=\")||(d=\"&ei=\"+google.getEI(c),-1==b.search(\"&lei=\")&&(c=google.getLEI(c))&&(d+=\"&lei=\"+c));c=\"\";!e&&google.cshid&&-1==b.search(\"&cshid=\")&&\"slh\"!=a&&(c=\"&cshid=\"+google.cshid);a=e||\"/\"+(g||\"gen_204\")+\"?atyp=i&ct=\"+a+\"&cad=\"+b+d+f+\"&zx=\"+google.time()+c;/^http:/i.test(a)&&google.https()&&(google.ml(Error(\"a\"),!1,{src:a,glmm:1}),a=\"\");return a};}).call(this);(function(){google.y={};google.x=function(a,b){if(a)var c=a.id;else{do c=Math.random();while(google.y[c])}google.y[c]=[a,b];return!1};google.lm=[];google.plm=function(a){google.lm.push.apply(google.lm,a)};google.lq=[];google.load=function(a,b,c){google.lq.push([[a],b,c])};google.loadAll=function(a,b){google.lq.push([a,b])};}).call(this);google.f={};</script><script nonce=\"r9T7aXfjUFfnVf6BL1hW2A==\">var a=window.location,b=a.href.indexOf(\"#\");if(0<=b){var c=a.href.substring(b+1);/(^|&)q=/.test(c)&&-1==c.indexOf(\"#\")&&a.replace(\"/search?\"+c.replace(/(^|&)fp=[^&]*/g,\"\")+\"&cad=h\")};</script><style>#gbar,#guser{font-size:13px;padding-top:1px !important;}#gbar{height:22px}#guser{padding-bottom:7px !important;text-align:right}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}@media all{.gb1{height:22px;margin-right:.5em;vertical-align:top}#gbar{float:left}}a.gb1,a.gb4{text-decoration:underline !important}a.gb1,a.gb4{color:#00c !important}.gbi .gb4{color:#dd8e27 !important}.gbf .gb4{color:#900 !important}\n</style><style>body,td,a,p,.h{font-family:arial,sans-serif}body{margin:0;overflow-y:scroll}#gog{padding:3px 8px 0}td{line-height:.8em}.gac_m td{line-height:17px}form{margin-bottom:20px}.h{color:#36c}.q{color:#00c}.ts td{padding:0}.ts{border-collapse:collapse}em{font-weight:bold;font-style:normal}.lst{height:25px;width:496px}.gsfi,.lst{font:18px arial,sans-serif}.gsfs{font:17px arial,sans-serif}.ds{display:inline-box;display:inline-block;margin:3px 0 4px;margin-left:4px}input{font-family:inherit}a.gb1,a.gb2,a.gb3,a.gb4{color:#11c !important}body{background:#fff;color:black}a{color:#11c;text-decoration:none}a:hover,a:active{text-decoration:underline}.fl a{color:#36c}a:visited{color:#551a8b}a.gb1,a.gb4{text-decoration:underline}a.gb3:hover{text-decoration:none}#ghead a.gb2:hover{color:#fff !important}.sblc{padding-top:5px}.sblc a{display:block;margin:2px 0;margin-left:13px;font-size:11px}.lsbb{background:#eee;border:solid 1px;border-color:#ccc #999 #999 #ccc;height:30px}.lsbb{display:block}.ftl,#fll a{display:inline-block;margin:0 12px}.lsb{background:url(/images/nav_logo229.png) 0 -261px repeat-x;border:none;color:#000;cursor:pointer;height:30px;margin:0;outline:0;font:15px arial,sans-serif;vertical-align:top}.lsb:active{background:#ccc}.lst:focus{outline:none}</style><script nonce=\"r9T7aXfjUFfnVf6BL1hW2A==\"></script></head><body bgcolor=\"#fff\"><script nonce=\"r9T7aXfjUFfnVf6BL1hW2A==\">(function(){var src='/images/nav_logo229.png';var iesg=false;document.body.onload = function(){window.n && window.n();if (document.images){new Image().src=src;}\nif (!iesg){document.f&&document.f.q.focus();document.gbqf&&document.gbqf.q.focus();}\n}\n})();</script><div id=\"mngb\"> <div id=gbar><nobr><b class=gb1>&#26908;&#32034;</b> <a class=gb1 href=\"https://www.google.co.jp/imghp?hl=ja&tab=wi\">&#30011;&#20687;</a> <a class=gb1 href=\"https://maps.google.co.jp/maps?hl=ja&tab=wl\">&#12510;&#12483;&#12503;</a> <a class=gb1 href=\"https://play.google.com/?hl=ja&tab=w8\">Play</a> <a class=gb1 href=\"https://www.youtube.com/?gl=JP&tab=w1\">YouTube</a> <a class=gb1 href=\"https://news.google.co.jp/nwshp?hl=ja&tab=wn\">&#12491;&#12517;&#12540;&#12473;</a> <a class=gb1 href=\"https://mail.google.com/mail/?tab=wm\">Gmail</a> <a class=gb1 href=\"https://drive.google.com/?tab=wo\">&#12489;&#12521;&#12452;&#12502;</a> <a class=gb1 style=\"text-decoration:none\" href=\"https://www.google.co.jp/intl/ja/about/products?tab=wh\"><u>&#12418;&#12387;&#12392;&#35211;&#12427;</u> &raquo;</a></nobr></div><div id=guser width=100%><nobr><span id=gbn class=gbi></span><span id=gbf class=gbf></span><span id=gbe></span><a href=\"http://www.google.co.jp/history/optout?hl=ja\" class=gb4>&#12454;&#12455;&#12502;&#23653;&#27508;</a> | <a  href=\"/preferences?hl=ja\" class=gb4>&#35373;&#23450;</a> | <a target=_top id=gb_70 href=\"https://accounts.google.com/ServiceLogin?hl=ja&passive=true&continue=https://www.google.com/\" class=gb4>&#12525;&#12464;&#12452;&#12531;</a></nobr></div><div class=gbh style=left:0></div><div class=gbh style=right:0></div> </div><center><br clear=\"all\" id=\"lgpd\"><div id=\"lga\"><img alt=\"Google\" height=\"92\" src=\"/images/branding/googlelogo/1x/googlelogo_white_background_color_272x92dp.png\" style=\"padding:28px 0 14px\" width=\"272\" id=\"hplogo\" onload=\"window.lol&&lol()\"><br><br></div><form action=\"/search\" name=\"f\"><table cellpadding=\"0\" cellspacing=\"0\"><tr valign=\"top\"><td width=\"25%\">&nbsp;</td><td align=\"center\" nowrap=\"\"><input name=\"ie\" value=\"ISO-8859-1\" type=\"hidden\"><input value=\"ja\" name=\"hl\" type=\"hidden\"><input name=\"source\" type=\"hidden\" value=\"hp\"><input name=\"biw\" type=\"hidden\"><input name=\"bih\" type=\"hidden\"><div class=\"ds\" style=\"height:32px;margin:4px 0\"><input style=\"color:#000;margin:0;padding:5px 8px 0 6px;vertical-align:top\" autocomplete=\"off\" class=\"lst\" value=\"\" title=\"Google &#26908;&#32034;\" maxlength=\"2048\" name=\"q\" size=\"57\"></div><br style=\"line-height:0\"><span class=\"ds\"><span class=\"lsbb\"><input class=\"lsb\" value=\"Google &#26908;&#32034;\" name=\"btnG\" type=\"submit\"></span></span><span class=\"ds\"><span class=\"lsbb\"><input class=\"lsb\" value=\"I'm Feeling Lucky\" name=\"btnI\" onclick=\"if(this.form.q.value)this.checked=1; else top.location='/doodles/'\" type=\"submit\"></span></span></td><td class=\"fl sblc\" align=\"left\" nowrap=\"\" width=\"25%\"><a href=\"/advanced_search?hl=ja&amp;authuser=0\">&#26908;&#32034;&#12458;&#12503;&#12471;&#12519;&#12531;</a><a href=\"/language_tools?hl=ja&amp;authuser=0\">&#35328;&#35486;&#12484;&#12540;&#12523;</a></td></tr></table><input id=\"gbv\" name=\"gbv\" type=\"hidden\" value=\"1\"><script nonce=\"r9T7aXfjUFfnVf6BL1hW2A==\">(function(){var a,b=\"1\";if(document&&document.getElementById)if(\"undefined\"!=typeof XMLHttpRequest)b=\"2\";else if(\"undefined\"!=typeof ActiveXObject){var c,d,e=[\"MSXML2.XMLHTTP.6.0\",\"MSXML2.XMLHTTP.3.0\",\"MSXML2.XMLHTTP\",\"Microsoft.XMLHTTP\"];for(c=0;d=e[c++];)try{new ActiveXObject(d),b=\"2\"}catch(h){}}a=b;if(\"2\"==a&&-1==location.search.indexOf(\"&gbv=2\")){var f=google.gbvu,g=document.getElementById(\"gbv\");g&&(g.value=a);f&&window.setTimeout(function(){location.href=f},0)};}).call(this);</script></form><div id=\"gac_scont\"></div><div style=\"font-size:83%;min-height:3.5em\"><br></div><span id=\"footer\"><div style=\"font-size:10pt\"><div style=\"margin:19px auto;text-align:center\" id=\"fll\"><a href=\"/intl/ja/ads/\">&#24195;&#21578;&#25522;&#36617;</a><a href=\"http://www.google.co.jp/intl/ja/services/\">&#12499;&#12472;&#12493;&#12473; &#12477;&#12522;&#12517;&#12540;&#12471;&#12519;&#12531;</a><a href=\"https://plus.google.com/115899767381375908215\" rel=\"publisher\">+Google</a><a href=\"/intl/ja/about.html\">Google &#12395;&#12388;&#12356;&#12390;</a><a href=\"https://www.google.com/setprefdomain?prefdom=JP&amp;prev=https://www.google.co.jp/&amp;sig=K_BpR2_HEycBB-okkuE4JxAx8TyZg%3D\">Google.co.jp</a></div></div><p style=\"color:#767676;font-size:8pt\">&copy; 2019 - <a href=\"/intl/ja/policies/privacy/\">&#12503;&#12521;&#12452;&#12496;&#12471;&#12540;</a> - <a href=\"/intl/ja/policies/terms/\">&#35215;&#32004;</a></p></span></center><script nonce=\"r9T7aXfjUFfnVf6BL1hW2A==\">(function(){window.google.cdo={height:0,width:0};(function(){var a=window.innerWidth,b=window.innerHeight;if(!a||!b){var c=window.document,d=\"CSS1Compat\"==c.compatMode?c.documentElement:c.body;a=d.clientWidth;b=d.clientHeight}a&&b&&(a!=google.cdo.width||b!=google.cdo.height)&&google.log(\"\",\"\",\"/client_204?&atyp=i&biw=\"+a+\"&bih=\"+b+\"&ei=\"+google.kEI);}).call(this);})();(function(){var u='/xjs/_/js/k\\x3dxjs.hp.en.0LvLQJFusKU.O/m\\x3dsb_he,d/am\\x3dYsAs/rt\\x3dj/d\\x3d1/rs\\x3dACT90oHhyvSjfj5IGlv-debRjNafwt02Fg';var b={gen204:\"xjsls\",clearcut:31};setTimeout(function(){var a=document.createElement(\"script\");a.src=u;google.timers&&google.timers.load&&google.tick&&google.tick(\"load\",b);document.body.appendChild(a)},0);})();(function(){window.google.xjsu='/xjs/_/js/k\\x3dxjs.hp.en.0LvLQJFusKU.O/m\\x3dsb_he,d/am\\x3dYsAs/rt\\x3dj/d\\x3d1/rs\\x3dACT90oHhyvSjfj5IGlv-debRjNafwt02Fg';})();function _DumpException(e){throw e;}\n(function(){var pmc='{\\x22Qnk92g\\x22:{},\\x22U5B21g\\x22:{},\\x22YFCs/g\\x22:{},\\x22ZI/YVQ\\x22:{},\\x22d\\x22:{},\\x22sb_he\\x22:{\\x22agen\\x22:true,\\x22cgen\\x22:true,\\x22client\\x22:\\x22heirloom-hp\\x22,\\x22dh\\x22:true,\\x22dhqt\\x22:true,\\x22ds\\x22:\\x22\\x22,\\x22ffql\\x22:\\x22ja\\x22,\\x22fl\\x22:true,\\x22host\\x22:\\x22google.com\\x22,\\x22isbh\\x22:28,\\x22jsonp\\x22:true,\\x22msgs\\x22:{\\x22cibl\\x22:\\x22&#26908;&#32034;&#12434;&#12463;&#12522;&#12450;\\x22,\\x22dym\\x22:\\x22&#12418;&#12375;&#12363;&#12375;&#12390;:\\x22,\\x22lcky\\x22:\\x22I\\\\u0026#39;m Feeling Lucky\\x22,\\x22lml\\x22:\\x22&#35443;&#32048;\\x22,\\x22oskt\\x22:\\x22&#20837;&#21147;&#12484;&#12540;&#12523;\\x22,\\x22psrc\\x22:\\x22&#12371;&#12398;&#26908;&#32034;&#12461;&#12540;&#12527;&#12540;&#12489;&#12399;\\\\u003Ca href\\x3d\\\\\\x22/history\\\\\\x22\\\\u003E&#12454;&#12455;&#12502;&#23653;&#27508;\\\\u003C/a\\\\u003E&#12363;&#12425;&#21066;&#38500;&#12373;&#12428;&#12414;&#12375;&#12383;\\x22,\\x22psrl\\x22:\\x22&#21066;&#38500;\\x22,\\x22sbit\\x22:\\x22&#30011;&#20687;&#12391;&#26908;&#32034;\\x22,\\x22srch\\x22:\\x22Google &#26908;&#32034;\\x22},\\x22ovr\\x22:{},\\x22pq\\x22:\\x22\\x22,\\x22refpd\\x22:true,\\x22refspre\\x22:true,\\x22rfs\\x22:[],\\x22sbpl\\x22:24,\\x22sbpr\\x22:24,\\x22scd\\x22:10,\\x22sce\\x22:5,\\x22stok\\x22:\\x22SLdW-Zbwk6DurkyHv_YMw0e1asw\\x22,\\x22uhde\\x22:false}}';google.pmc=JSON.parse(pmc);})();</script>        </body></html>"
  }
}

@NomadBlacky
Copy link
Author

build.sc

import mill._
import mill.scalalib._
import mill.scalalib.scalafmt._

trait CommonModule extends ScalaModule with ScalafmtModule {
  def scalaVersion = "2.12.8"
  def ivyDeps = Agg(
    ivy"ch.qos.logback:logback-classic:1.2.3",
    ivy"net.logstash.logback:logstash-logback-encoder:5.3",
    ivy"com.typesafe.scala-logging::scala-logging:3.9.2"
  )

  object test extends TestModule {
    def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.0.5")
    def testFrameworks = Seq("org.scalatest.tools.Framework")
  }
}

object playws extends CommonModule {
  override def ivyDeps = super.ivyDeps() ++ Agg(
    ivy"com.typesafe.play::play-ahc-ws-standalone:2.0.1",
    ivy"com.fasterxml.jackson.module::jackson-module-scala:2.9.8"
  )
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment