All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.example.httpclient.Simple$HttpClient Maven / Gradle / Ivy

package org.example.httpclient;


import io.avaje.http.api.*;
import io.avaje.http.api.Path;
import io.avaje.http.client.HttpApiProvider;
import io.avaje.http.client.HttpClientContext;
import java.net.URL;
import java.net.http.HttpRequest.BodyPublisher;
import java.net.http.HttpResponse;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
import org.example.Repo;
import org.example.Simple;
import org.example.Simple.Id;
import org.example.Simple.MyForm;

@Generated("avaje-http-client-generator")
public class Simple$HttpClient implements Simple {

  private final HttpClientContext clientContext;

  public Simple$HttpClient(HttpClientContext ctx) {
    this.clientContext = ctx;
  }

  // GET {uid}/{date}
  @Override
  public HttpResponse byIdg(long uid, LocalDate date, URL access, LocalDate dt) {
    return clientContext.request()
      .header("Access", access)
      .path("moo").path(uid).path(date)
      .queryParam("my-dat", dt)
      .GET()
      .asString();
  }

  // GET {uid}/withParams
  @Override
  public HttpResponse withParams(long uid, Map params) {
    return clientContext.request()
      .path("moo").path(uid).path("withParams")
      .queryParam(params)
      .GET()
      .asString();
  }

  // POST postFormWithParams
  @Override
  public void postFormWithParams(long uid, Map frmParams, Map headers, Map qparams) {
    clientContext.request()
      .header(headers)
      .path("moo").path("postFormWithParams")
      .queryParam("uid", uid)
      .queryParam(qparams)
      .formParam(frmParams)
      .POST()
      .asVoid();
  }

  // POST post3
  @Override
  public void post3(long uid, String xHead, String ab) {
    clientContext.request()
      .header("X-Head", xHead)
      .header("a-b", ab)
      .path("moo").path("post3")
      .queryParam("uid", uid)
      .POST()
      .asVoid();
  }

  // GET users/{user}/repos
  @Override
  public List listRepos(String user, String other) {
    return clientContext.request()
      .path("moo").path("users").path(user).path("repos")
      .queryParam("other", other)
      .GET()
      .list(Repo.class);
  }

  // POST 
  @Override
  public Id save(Repo bean) {
    return clientContext.request()
      .path("moo")
      .body(bean)
      .POST()
      .bean(Id.class);
  }

  // POST /register
  @Override
  public void register(MyForm myForm) {
    clientContext.request()
      .path("moo").path("register")
      .formParam("name", myForm.getName())
      .formParam("email", myForm.email())
      .formParam("active", myForm.isActive())
      .header("Baf-Head", myForm.bafHead)
      .queryParam("my-parm", myForm.getMparam())
      .POST()
      .asVoid();
  }

  // POST other
  @Override
  public void registerOther(String myName, String email) {
    clientContext.request()
      .path("moo").path("other")
      .formParam("myName", myName)
      .formParam("email", email)
      .POST()
      .asVoid();
  }

  // POST 
  @Override
  public HttpResponse postFile(Path file) {
    return clientContext.request()
      .path("moo")
      .body(file)
      .POST()
      .asVoid();
  }

  // POST {oid}
  @Override
  public HttpResponse postRaw(String oid, BodyPublisher body, String myParam, String other) {
    return clientContext.request()
      .path("moo").path(oid)
      .queryParam("myParam", myParam)
      .queryParam("other", other)
      .body(body)
      .POST()
      .asVoid();
  }

  public static class Provider implements HttpApiProvider {
    @Override
    public Class type() {
      return Simple.class;
    }
    @Override
    public Simple provide(HttpClientContext client) {
      return new Simple$HttpClient(client);
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy