Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    ShankarShastri
    @shankarshastri
    But I don't know the key names @manonthegithub
    to specify them in case class
    Kirill Yankov
    @manonthegithub
    then probably the first sample val json: JsObject = jsonString.parseJson.asJsObject is your option
    you can then get Map[String, JsValue] of the fields of the JsObject
    jsonString.parseJson.asJsObject.fields will return Map[String, JsValue]
    ShankarShastri
    @shankarshastri
    I wanted to understand spray json library.
    Any hints to tell where to start from?
    I meant code.
    Vladislav Rybin
    @VladislavRybin
    hey guys, does anyone else have false error highlights in spray routes when using IntelliJ IDEA?
    All my code is covered in red highlighting :^)
    Is there a way to fix this?
    Arnout Engelen
    @raboof
    @VladislavRybin in akka-http you can use concat instead of ~ which might be less prone to confusing IntelliJ - not sure if that was in Spray already though (https://doc.akka.io/docs/akka-http/current/routing-dsl/directives/index.html)
    Konrad `ktoso` Malawski
    @ktoso
    it wasn't
    please upgrade to akka-http; spray has been end-of-life for years
    the upgrade is rather straight forward
    ShankarShastri
    @shankarshastri
    Guys wanted help regarding this one:
    spray/spray-json#257
    How to provide default values for optional parameters in request payload while marshalling ?
    ShankarShastri
    @shankarshastri
    @ktoso @jrudolph your help required on the above issue.
    Arnout Engelen
    @raboof
    @shankarshastri this is currently not supported in spray-json, but if it's just a couple of classes you could write your own custom readers? the generated writer might already do what you want?
    ShankarShastri
    @shankarshastri
    @raboof , can you give me a example, or if present in readme.md can you suggest me?
    Arnout Engelen
    @raboof
    @shankarshastri if you search for def read in the README those are examples of different ways to 'manually' write readers
    vito-c
    @vito-c
    this room still active? :D how do I marshal a case class to json when using akka-http websocket? I am sending json with the akka-http websocket client.
    Arnout Engelen
    @raboof
    @vito-c most people have moved to akka-http and discuss it in akka/akka or https://discuss.akka.io I think
    @vito-c for marshalling case classes in akka-http I think both spray-json and play-json are still popular
    I'm not sure about websockets specifically but still https://doc.akka.io/docs/akka-http/current/common/json-support.html#json-support might help?
    vito-c
    @vito-c
    @raboof how would one marshal to a just a Message? I can do it automatically to a MessageEntity
    could not find implicit value for parameter m: akka.http.scaladsl.marshalling.Marshal
    ler[eneovim.EnMessage,akka.http.scaladsl.model.ws.Message]
    [error]   val outgoing = Source.fromFuture(Marshal(myMsg).to[Message])
    [error]                                                     ^
    Arnout Engelen
    @raboof
    @vito-c do you mean HttpEntity? It works for those because of the implicit conversion at https://github.com/akka/akka-http/blob/master/akka-http-marshallers-scala/akka-http-spray-json/src/main/scala/akka/http/scaladsl/marshallers/sprayjson/SprayJsonSupport.scala#L65, you might want to introduce a similar one for Message
    (you're writing a Scala plugin for neovim? that sounds pretty cool)
    Arnout Engelen
    @raboof
    (ah I see you found akka/akka :smile: )
    vito-c
    @vito-c
    hi @raboof yah I'm working on a scala based ensime plugin (mostly for fun) :) I'm looking at that SprayJsonSupport for Message now ... do you have an example of a Marshaller for another internal?
    Arnout Engelen
    @raboof
    @vito-c not really... not sure I understand exactly what you need but something like implicit def sprayJsonToWsMessageMarshaller[T](implicit writer: RootJsonWriter[T], printer: JsonPrinter = CompactPrinter): Marshaller[T, Message] = Marshaller.strict(t => Marshalling.Opaque(() => TextMessage(writer.write(t)))) might work?
    JoeCordingley
    @JoeCordingley
    Hi. The spray testkit doesn't seem to work with contentType. I have an example here: https://github.com/JoeCordingley/spray-marshallersExample where if you hit localhost:8080 with either application/json or application/myJson in the running service it returns the correct contentType but testing the route using spray testkit it always returns application/json
    Konrad `ktoso` Malawski
    @ktoso
    spray is end of life since many years; please move on to akka-http
    Jason Goodwin
    @jasongoodwin

    Hey I know spray is EOL'd but I'm wondering if there would be any concerns w/ setting a request timeout at a per-request level

           httpExtension ! connect
    
           def receive = {
              case akka.io.Tcp.Connected(_, _) =>
                // The client should then respond with Connected.
                // We take the sender of that Connected response (which is an HttpClientConnection)
                val httpClientConnection = sender()
    
                sender() ! SetRequestTimeout(timeout.duration)
                sender() ! request
    
              case res: HttpResponse =>
                // HttpResponse is the expected response from sending the HttpRequest.
                promise.success(res)
                context.stop(self)
    
              // handle errors

    I feel like this may not work

    because the HttpClientConnection may receive another request in between
    Or that will just ignore pooling and always create additional connections?
    I guess my question is really: how do I set a request timeout per request
    That's what I came up with ^
    Jason Goodwin
    @jasongoodwin
    Right I see
    there are host connectors that are created by host, port and config.
    Above is the connection configuration
    Jason Goodwin
    @jasongoodwin
    (And there are two APIs - the host level, and connection level, the latter being lower level.)
    Thomas Vogel
    @thomas-vogel444

    Hi guys! I can't get the JsonFormats for recursive Types section of the README.md compiling. Literally copy pasting

    case class Foo(i: Int, foo: Foo)
    implicit val fooFormat: JsonFormat[Foo] = lazyFormat(jsonFormat(Foo, "i", "foo"))

    leads to

    [error] /Users/thomasvogel/sandbox/scala-sandbox/akka-http-sandbox/src/main/scala/tom/vogel/Example.scala:57:68: forward reference extends over definition of value fooFormat
    [error]     implicit val fooFormat: JsonFormat[Foo] = lazyFormat(jsonFormat(Foo, "i", "foo"))

    Any ideas?

    2 replies
    Andriy Plokhotnyuk
    @plokhotnyuk
    Vitalii Solomko
    @treefolk
    Hi,
    Does spay supports application/problem+json context Type?
    content*
    Vladimir Pavkin
    @vpavkin
    Hi all!
    Anyone here to help publishing spray-json 1.3.6? :)
    spray/spray-json#327
    Zhenhao Li
    @Zhen-hao
    hi, how can I get RootJsonFormat for scala collections, e.g. Vector[(String, Int)]?
    Zhenhao Li
    @Zhen-hao
    my use case is Unmarshal(response).to[Vector[(String, Int)]] in Akka HTTP where response has type HttpResponse
    Petr Osipov
    @pete-proton:matrix.org
    [m]

    hi all

    could someone clarify the future of spray json? spray has been replaced with akka http, but is spray json here to stay?

    Andriy Plokhotnyuk
    @plokhotnyuk
    @pete-proton:matrix.org akka-http has lot of integrations with spray and other JSON parsers for Scala. Please use the following projects for that: 1) akka-http-spray-json; 2) borer; 3) akka-http-json
    Petr Osipov
    @pete-proton:matrix.org
    [m]
    thank you, @plokhotnyuk for the quick response. we are indeed using akka-http-spray-json now. it might be just that it still has spray in the name which brings up the question if this library is going to be supported going forward. do you know what I mean?